为什么我的html中不能使用特殊的unicode字符?

时间:2017-03-23 22:21:39

标签: angular

我是从我的设计师做过的模拟工作和作为占位符,直到我们有一个图像可供使用,我们有[ ≡ ]来表示一个拖动句柄呈现为[≡]。这在他直接的HTML模型中运行良好但是当我在实际的Angular应用程序中使用它时,我得到了一个错误:

  

未处理的承诺拒绝:模板解析错误:   未知实体" Congruent"

我让Angular不知道Congruent是什么,但它不需要,为什么它试图对我的文本节点做任何事情? &符号对Angular有意义吗?如果是这样,我能逃脱吗?

我认为它可能是括号,但删除它们会给我带来同样的错误,我尝试将ng-non-bindable添加到元素中,但它也没有改变任何东西。

2 个答案:

答案 0 :(得分:5)

请尝试使用十六进制或十进制表示法:≡≡。我在这里找到了这些:https://dev.w3.org/html5/html-author/charref

答案 1 :(得分:4)

正如评论中所指出的,实体的特定名称(即&name;形式的文本内容)被Angular模板解析器列入白名单:https://github.com/angular/angular/blob/bebedfed24d6fbfa492e97f071e1d1b41e411280/packages/compiler/src/ml_parser/tags.ts#L57

如评论所述:

// This list is not exhaustive to keep the compiler footprint low.
// The `{` / `ƫ` syntax should be used when the named character reference does not exist.

但是,虽然Congruent未列入白名单,但请注意equiv引用相同的字符,。只需使用:

[ ≡ ]

代替。