ng-if在ng-repeat内有多个条件不能按预期工作

kaw*_*awa 1 angularjs angularjs-directive angularjs-ng-repeat angular-ng-if

除非我弄错了,否则我会遇到一些应该有效的问题.

我有一个键:值对象设置如下:

{
  key1:"val1",
  key2:"val2",
  key3:"val3",
  key4:null
}
Run Code Online (Sandbox Code Playgroud)

在我看来,我有这个:

<div class="col-md-4" ng-repeat="(key, value) in list" ng-if="key != 'key1' || value != null">
            <ul>
                <li>{{ key }} : {{ value }} </li>
            </ul>
        </div>
Run Code Online (Sandbox Code Playgroud)

问题:如果我只使用key != 'key1'作品,则不显示key1的键和值.

如果我也只使用value != null作品,则不显示key4.

但是当我将if语句与||结合使用时 (OR),忽略整个if语句.

我在这里做错了吗?

我在这里发布了一个例子:http://jsfiddle.net/caxoyud2/

Thanx提前!

paj*_*007 11

如果你想要两者都消失它应该是'&&'而不是'||'.!(key =='key1'|| value == null),当在"||"内部取消时 成为'&&'.

<div class="col-md-4" ng-repeat="(key, value) in list" ng-if="key != 'key1' &&     value != null">
        <ul>
            <li>{{ key }} : {{ value }} </li>
        </ul>
</div>    
Run Code Online (Sandbox Code Playgroud)

要么

<div class="col-md-4" ng-repeat="(key, value) in list" ng-if="!(key == 'key1' || value == null)">
    <ul>
        <li>{{ key }} : {{ value }}</li>
    </ul>
</div>
Run Code Online (Sandbox Code Playgroud)