首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Angular2数据绑定不能与中文属性名称一起使用?

Angular2数据绑定不能与中文属性名称一起使用?
EN

Stack Overflow用户
提问于 2016-12-06 14:11:39
回答 1查看 154关注 0票数 2

下面是我的代码:模板是:

代码语言:javascript
运行
复制
<div>
    时间: {{DataContext.时间}}
</div>

这里'时间‘是中文字符,意思是时间,在打字文件中。我定义了一个DataContext属性。

代码语言:javascript
运行
复制
export class TestClass {
    @Input()
    DataContext:any;
}

但是它不工作,我得到了一个错误。下面是错误消息,“模板解析错误:解析器错误:意外的令牌语法分析器错误:意外的字符{{时间}}......”

我真的需要它支持中文字符,因为json数据来自旧系统,并且所有数据的属性都使用中文字符。

有人能帮我吗?

EN

回答 1

Stack Overflow用户

发布于 2016-12-06 15:43:47

我遇到了同样的问题,我创建了将字符转换为Unicode的服务/管道,如下所示。希望能有所帮助(虽然这不是正确的方法,但暂时解决了问题)

代码语言:javascript
运行
复制
var _escape_overrides = { 0x00:'\uFFFD',0x80:'\u20AC',0x82:'\u201A',0x83:'\u0192',0x84:'\u201E',0x85:'\u2026',0x86:'\u2020',0x87:'\u2021',0x88:'\u02C6',0x89:'\u2030',0x8A:'\u0160',0x8B:'\u2039',0x8C:'\u0152',0x8E:'\u017D',0x91:'\u2018',0x92:'\u2019',0x93:'\u201C',0x94:'\u201D',0x95:'\u2022',0x96:'\u2013',0x97:'\u2014',0x98:'\u02DC',0x99:'\u2122',0x9A:'\u0161',0x9B:'\u203A',0x9C:'\u0153',0x9E:'\u017E',0x9F:'\u0178' }; 

function escapeHtml(str){
    return str.replace(/([\u0000-\uD799]|[\uD800-\uDBFF][\uDC00-\uFFFF])/g, function(c) {
        var c1 = c.charCodeAt(0);
        // ascii character, use override or escape
        if( c1 <= 0xFF ) return (c1=_escape_overrides[c1])?c1:escape(c).replace(/%(..)/g,"&#x$1;");
        // utf8/16 character
        else if( c.length == 1 ) return "&#" + c1 + ";"; 
        // surrogate pair
        else if( c.length == 2 && c1 >= 0xD800 && c1 <= 0xDBFF ) return "&#" + ((c1-0xD800)*0x400 + c.charCodeAt(1) - 0xDC00 + 0x10000) + ";"
        // no clue .. 
        else return "";
    });
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40988895

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档