2017-03-23 73 views
0

我正在从模拟我的设计师的工作,并作为占位符,直到我们有一个图像使用我们有[ ≡ ]来指示一个拖动手柄呈现为[&congruent; ]。这工作得很好诠释他直HTML实体模型,但是当我在实际应用角度我建立使用它,我得到一个错误:为什么我不能在我的html中使用特殊的Unicode字符?

Unhandled Promise rejection: Template parse errors: Unknown entity "Congruent"

我得到的角度是不会知道全等是什么,但它不需要,为什么它试图对我的文本节点做任何事情? Ampersand对Angular来说意味着什么?如果是这样,我可以逃脱它吗?

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

+2

https://github.com/angular/angular/blob/bebedfed24d6fbfa492e97f071e1d1b41e411280/packages/compiler/src/ml_parser/tags.ts#L57因为'Congruent'没有列入白名单。 – dfsq

回答

3

正如在评论中指出,对实体特定的名称(形式为&name;即文本内容)由角模板分析器被列入白名单: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,它是指相同的字符,。只需使用:

[ ≡ ] 

改为。

+1

谢谢,任何想法,为什么我们依赖于这些白名单?为什么模板分析器关心我在文本节点中使用的内容? – invertedSpear

+0

@invertedSpear不知道,你必须看看如何使用该列表。 – jonrsharpe

相关问题