2016-10-03 48 views
-1

我有这样的代码:什么时候评估ng-if?

<div class="gridRow" 
     ng-click="phs.phrasesRowClicked(row)" 
     ng-repeat="row in phs.phrasesView"> 
     xx{{ row.current }} yy 
    <div ng-if="row.current"> 
     ABC 
    </div> 
    <div ng-if="!row.current"> 
     DEF 
    </div> 
</div> 

当我看到这个然后我看到所有的“ABC”

当我在一排则点击当前属性更改为TRUE值和XX之间的字并且yy也变为TRUE。但该行不会更改。一切仍显示“ABC”

下面是该行被设置为TRUE的FALSE:

如果我使用NG-如果不正确地
if (phrase.phraseId == phraseId) { 
    phrase.current = true; 
    self.phrase = phrase; 
} else { 
    phrase.current = false; 
} 

有人能告诉我吗?

+0

当'row.current'为true时,代码被设置为显示ABC。如果价值开始为真(或真理),那么它按预期工作。您必须展示[最小,完整和可验证示例](http://stackoverflow.com/help/mcve)。 – JJJ

+0

所有行在检索时显示xxfalseyy。 – Alan2

回答

2

是的,你正在使用ng-if正确。如果您看到大写字母TRUE,那么我的怀疑是row.current正在设置为字符串TRUEFALSE,它们总是被评估为真。

+0

我更新了问题以显示电流如何设置为TRUE或FALSE – Alan2

相关问题