在 AngularJS html 模板中使用与号 (&) 是否安全

Is it safe to use ampersands (&) in AngularJS html templates

有人告诉我在 angular 模板中使用 & 符号是不好的做法,因为 '&' 在 HTML 中保留,但我一直在 angular 的示例中看到它.

说清楚,这样写会安全吗

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

在 angular 模板中?

我不想知道它是否有效(确实如此),但如果有任何边缘情况可能会导致问题,或者实际上不鼓励这样做。

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

是的,很好,我一直用它。这是 fiddle 展示:

 <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>

http://jsfiddle.net/8drnp4ue/

没关系。 HTML5 规范明确允许未编码的符号,如果它们看起来不像字符引用(例如 &copy;)。当然,对于 URL 之类的某些内容,最好保持一致并转义它们。但是对于周围有空格的 &&,浏览器不会误解数据,并且 &amp;&amp; 的可读性明显降低。

规范的相关部分: