我被告知在角度模板中使用&符号是不好的做法,因为'&'是用HTML保留的,但我在示例中一直看到角度模板。
要清楚,写作是否安全
<div ng-show="bool1 && bool2"></div>
在角模板?
我不知道它是否有效(它确实如此),但如果有任何边缘情况,这可能会导致问题,或者实际上是不鼓励。
没关系。 HTML5规范明确允许未编码的&符号,如果它们看起来不像字符引用(例如©
)。当然,对于像URL这样的东西,最好是保持一致并逃脱它们。但对于周围有空格的&&
,浏览器不可能误解数据,而且&&
的可读性要低得多。
规范的相关章节:
我也在我的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>