angularjs 表达式中的注释
Comments in angularjs expression
我有一些 HTML 标签有 ng-clicks 和 ng-ifs。在各自的表达式中,我进行函数调用并传入参数,其中一些是文字(大部分只是 true 或 false)。因此,我想添加一条关于文字含义的评论,但 angular 似乎无法正确解析它。 (我知道传递文字不是最聪明的主意,但我还是想知道答案)
<button class='someclass' ng-click='somefunction(val1, val2, true /* explanation for literal */)' > </button>
如何在 angular 表达式中添加注释?
虽然 Angular documentation 没有明确表示不支持 JavaScript 评论。我会假设他们不是。
Angular 表达式只是某些 JavaScript 的一个子集(以及一些附加功能,如过滤器)。
为什么不能将这些注释作为单独的参数传递而不是附加其他参数?
即使您以某种方式实现了这一点,也不是很好的设计。
不,不支持评论。解析器将 /
视为数学运算符(参见其后的 source code) which expects primary expression:例如以 (
或 [
等开头的内容。但是 [=19 中没有有效的表达式=] 可以在 /
字符后立即包含 *
。因此解析器抛出异常:Token '*' not a primary expression
.
我有一些 HTML 标签有 ng-clicks 和 ng-ifs。在各自的表达式中,我进行函数调用并传入参数,其中一些是文字(大部分只是 true 或 false)。因此,我想添加一条关于文字含义的评论,但 angular 似乎无法正确解析它。 (我知道传递文字不是最聪明的主意,但我还是想知道答案)
<button class='someclass' ng-click='somefunction(val1, val2, true /* explanation for literal */)' > </button>
如何在 angular 表达式中添加注释?
虽然 Angular documentation 没有明确表示不支持 JavaScript 评论。我会假设他们不是。
Angular 表达式只是某些 JavaScript 的一个子集(以及一些附加功能,如过滤器)。
为什么不能将这些注释作为单独的参数传递而不是附加其他参数? 即使您以某种方式实现了这一点,也不是很好的设计。
不,不支持评论。解析器将 /
视为数学运算符(参见其后的 source code) which expects primary expression:例如以 (
或 [
等开头的内容。但是 [=19 中没有有效的表达式=] 可以在 /
字符后立即包含 *
。因此解析器抛出异常:Token '*' not a primary expression
.