Javascript 在AngularJS html模板中使用符号(&;)安全吗

Javascript 在AngularJS html模板中使用符号(&;)安全吗,javascript,html,angularjs,xhtml,Javascript,Html,Angularjs,Xhtml,我被告知在angular模板中使用符号是不好的做法,因为HTML中保留了“&”,但我一直在angular的示例中看到它 说清楚一点,写作安全吗 <div ng-show="bool1 && bool2"></div> 在有角度的模板中 我不想知道它是否有效(确实有效),但是否存在任何可能导致问题的边缘情况,或者实际上不鼓励使用它。我在Angular html模板中也使用了符号,并且从来没有遇到过问题,但要想知道使用它们是否安全,最好的办法是在一个类似

我被告知在angular模板中使用符号是不好的做法,因为HTML中保留了“&”,但我一直在angular的示例中看到它

说清楚一点,写作安全吗

<div ng-show="bool1 && bool2"></div>

在有角度的模板中


我不想知道它是否有效(确实有效),但是否存在任何可能导致问题的边缘情况,或者实际上不鼓励使用它。

我在Angular html模板中也使用了符号,并且从来没有遇到过问题,但要想知道使用它们是否安全,最好的办法是在一个类似于你的测试应用程序中测试它们的效果,我想…

是的,很好,我一直在使用它。这里有一把小提琴展示:

 <div data-ng-show="bool1 && bool2">bool1 && bool2</div>
 <div data-ng-show="bool1 && !bool2">bool1 && !bool2</div>
 <div data-ng-show="!bool1 && bool2">!bool1 && bool2</div>
 <div data-ng-show="!bool1 && !bool2">!bool1 && !bool2</div>
bool1&&bool2
嘘&!bool2
!bool1&bool2
!嘘&!bool2

很好。HTML5规范明确允许未编码的符号,如果它们看起来不像字符引用(例如
©;
)。当然,对于像URL这样的东西,最好保持一致性并避开它们。但是对于周围有空格的
&
,浏览器不可能误解数据,而且
&&的可读性明显降低

规范的相关章节:


可能的重复我更感兴趣的是这如何与HTML一起工作,除了HTML字符实体之外,不允许使用“&”。Thymeleaf在使用它们时会出现SAXParseException。所以,如果你也在使用Thymeleaf,就不应该使用它们。我想知道最佳实践是什么。例如,建议您永远不要在HTML中使用它。最佳做法总是最安全的,为了安全起见,我建议(就像您链接的问题一样)避开您的符号。我发现简单地避开它们比担心是否需要避开它们要容易得多。示例:在像
这样的链接中,是否需要转义符号AND以避免它被解释为
º
?但是如果你总是写
&在任何地方,这个问题都不会出现。你知道这与你的关系如何吗?谢谢在这种情况下:如何?这是作为常规HTML存储的。