ng-show 的语法错误:"token 'false' is at column {2} of the expression [{3}] starting at [{4}]"

Syntax error with ng-show: "token 'false' is at column {2} of the expression [{3}] starting at [{4}]"

我正在使用 ng-show,如下所示:

<data-ng-show={{entity.primary}}===true>

entity.primary 的值可以是 truefalse。我在控制台中收到以下错误:

Syntax Error: Token 'false' is at column {2} of the expression [{3}] starting at [{4}].

如何解决这个错误?

ng-show 计算一个表达式。你不需要牙套。

试试这个:

<data-ng-show="entity.primary"></div>

或者这个:

<data-ng-show="entity.primary === true"></div>

您应该在花括号内添加表达式,但不要用于 ng-show <data-ng-show="entity.primary === true"></div>

但是 ng-show 根据它的设置值评估为 true 或 false,所以你应该这样做 <data-ng-show="entity.primary"></div>

如果你需要显示这些值,你可以在某处添加这个

<div>{{entity.primary}}</div> => returns true 或 false 或分配给它的任何值。

遗憾的是,您的代码集中了错误:

  1. ngShow 指令只能用作属性,不能用作元素,如 the documentation and the code 所示。
  2. ngShow 指令 expects an "expression",它(大体上)是标准 JavaScript 代码:您不需要额外的大括号。
  3. 由于您在属性中使用等号 =,因此必须在其值周围加上引号,如 this W3C note 所述。

因此,正确的代码是:

<div data-ng-show="entity.primary === true"></div>