如果(Angularjs)不工作,则为ng

如果(Angularjs)不工作,则为ng,angularjs,Angularjs,我正在将json数据呈现到html页面: <div ng-if="'done'={{task_detail.status}}"> <b>Status :</b> <p class="label label-success">{{task_detail.status}}</p> <br> <br> <div class="progress progress-strip

我正在将json数据呈现到html页面:

<div ng-if="'done'={{task_detail.status}}">
    <b>Status :</b> 
    <p class="label label-success">{{task_detail.status}}</p>
    <br>
    <br>
    <div class="progress progress-striped">
        <div class="progress-bar" role="progressbar" aria-valuenow="100" aria-valuemin="0" aria-valuemax="100" style="width:{{task_detail.percentage_finished}}%">
            <span class="sr-only">{{task_detail.percentage_finished}}% Complete</span>
        </div>
    </div>
</div>
问题:HTML视图不可见,因为控件未在
ng内部移动,如果

语法正确吗?

ngIf
接受表达式(类似JavaScript的代码片段)。这意味着在
之间写入的任何内容都已经在Angular的上下文中,您不需要使用
{{}

<div ng-if="task_detail.status == 'done'">

ngIf也接受函数

<div ng-if="checkStatus(task_detail.status)">


当您有多个代码或添加的逻辑定义ng if中的布尔结果时,这非常有用。我经常使用它。

我遇到了类似的情况,使用带有条件“是否存在字符串数组项?”的ng if

经过几次尝试(例如,使用“typeof”),我发现使用“indexOf”可以很好地满足我的需要:

<li ng-if="lesson.practice.indexOf('Situations') > -1"><a id="Lev{{level.number}}Les{{lesson.number}}SI">Situations</a></li>
  • 情境

  • 确保您拥有最新的Angular版本,它在早期版本的~v1.0.1

    ng中不可用,如果您接受与JS代码相同的代码(奇怪),那么您不必使用{{}而是像这样传递json数据

    <div ng-if="'done' === task_detail.status">
    <div>...</div>
    </div>
    
    
    ...
    
    答案显而易见并不一定会让问题变得糟糕+1您使用了赋值运算符
    =
    ,而不是比较运算符
    =
    <div ng-if="'done' === task_detail.status">
    <div>...</div>
    </div>