Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 角度1:具有多个条件的多个条件,或者如果其他条件为真,如何排除条件_Javascript_Angularjs - Fatal编程技术网

Javascript 角度1:具有多个条件的多个条件,或者如果其他条件为真,如何排除条件

Javascript 角度1:具有多个条件的多个条件,或者如果其他条件为真,如何排除条件,javascript,angularjs,Javascript,Angularjs,现在我已经创建了一个额外的跨度来保存一个条件 <div ng-repeat="(key, resultLinks) in resultGroup.resultLinks"> <div ng-if="key < 4 || viewMore" ng-repeat="(subKey, linksWrap) in resultLinks.linksWrap"> <span ng-if="wWidth > 568 || subKey ==

现在我已经创建了一个额外的跨度来保存一个条件

<div ng-repeat="(key, resultLinks) in resultGroup.resultLinks">
    <div ng-if="key < 4 || viewMore" ng-repeat="(subKey, linksWrap) in resultLinks.linksWrap">
        <span ng-if="wWidth > 568 || subKey == 0" ng-repeat="links in linksWrap.links">
                {{links.linkName}}
        </span>
    </div>
</div>

{{links.linkName}
您将如何更改它以使所有条件都在一个分区中。例如:ng if=“(key<4 | | viewMore)| |(wWidth>568 | | subKey==0)”(类似于此,但不完全相同)。比如,如果另一个条件为真,是否可能以某种方式排除另一个条件

如果另一个条件为真,是否可能以某种方式排除一个条件

这正是OR(
|
)操作符正在做的事情。如果
(key<4 | | viewMore)
true
则不会进一步执行,
(wWidth>568 | | subKey==0)
将不会执行

这应该起作用:

    <div ng-if="(key < 4 || viewMore) || (wWidth > 568 || subKey == 0)" ng-repeat="(subKey, linksWrap) in resultLinks.linksWrap">
        <span ng-repeat="links in linksWrap.links">
               {{links.linkName}}
        </span>
    </div>

{{links.linkName}
正如你所看到的,它看起来很难看。我会将逻辑移出模板:

<div ng-if="isVisible(key, subKey)"... >

在控制器中的某个位置:

$scope.isVisible = function(key, subKey){  
    return (key < 4 || $scope.viewMore) || ($scope.wWidth > 568 || subKey == 0)
}
$scope.isVisible=函数(键,子键){
返回(键<4 | |$scope.viewMore)| |($scope.wWidth>568 | |子键==0)
}

这就是你要找的吗

(key < 4 || viewMore) && (wWidth > 568 || subKey == 0)
(key<4 | | viewMore)和&(wWidth>568 | | subKey==0)

就像OT一样,我错过了&&而不是| |。为什么它在DOM中很丑?我看不出为什么我应该把代码分成两个地方,而我可以把它放在一个地方,是吗?丑陋是非常主观的:)有些人把他们的代码放在
标签中。