Angular:ng-if不起作用,并抛出错误

时间:2015-07-17 18:32:57

标签: angularjs angular-ng-if

我在我使用的数据对象中返回了result.name。当我打印出来或不使用ng-if时,模板工作正常。但是,我始终没有这些数据,所以添加了一个检查,以便在它未进入时不添加DOM / HTML。

这只是返回的一串数据,所以假设这会进行空检查。

    <h1 ng-if="{{results.name}}" class="name">{{results.name}}</h1>

如果我删除ng-if,它可以正常工作。

    <h1 class="name">{{results.name}}</h1>

<!-- ngIf: {{results.name}} -->
Error: [$parse:syntax] http://errors.angularjs.org/undefined/$parse/syntax?p0=results.name&p1=is%20unexpected%2C%20expecting%20%5B%3A%5D&p2=3&p3=%7B%7Bresults.name%7D%7D&p4=results.name%7D%7D
    at Error (native)

2 个答案:

答案 0 :(得分:4)

您需要从

更改
 <h1 ng-if="{{results.name}}" class="name">{{results.name}}</h1>

 <h1 ng-if="results.name" class="name">{{results.name}}</h1>

答案 1 :(得分:4)

删除额外的{{}} - 您不需要在角度属性中使用它们

<h1 ng-if="results.name" class="name">{{results.name}}</h1>

只有当您想要从作用域打印某些内容以供用户查看时,才需要它们,就像您在h1元素中所做的那样。