ng-show语法错误:“token'false'位于表达式[{3}]的第{2}列,从[{4}]开始”

时间:2015-06-16 10:37:24

标签: javascript angularjs angularjs-ng-show

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

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

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

  

语法错误:令牌'false'位于表达式[{3}]的第{2}列,从[{4}]开始。

如何修复此错误?

3 个答案:

答案 0 :(得分:3)

可悲的是,您的代码集中了错误:

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

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

答案 1 :(得分:1)

ng-show评估表达式。你不需要牙箍。

试试这个:

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

或者这个:

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

答案 2 :(得分:1)

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

然而,ng-show根据它的设定值评估为真或假,所以你应该这样做 <data-ng-show="entity.primary"></div>

如果您需要显示值,您可以将其添加到某个地方

<div>{{entity.primary}}</div> =&GT;返回true或false或分配给它的任何值。