这个角度OR表达式可以缩短吗

  • 本文关键字:表达式 OR angularjs
  • 更新时间 :
  • 英文 :


有没有一种简单的方法可以缩短这个表达式?

     <li ng-if="viewingContext.name == 'Business A' || viewingContext.name == 'Business B'" ui-sref-active="active">
       <a ui-sref="app.page1">
         <span>Page 1</span>
       </a>
     </li>

谢谢!

是!!!!把那个坏男孩送到你的控制器:

<li ng-if="shouldDisplayBasedOnViewingContext()" ui-sref-active="active">
   <a ui-sref="app.page1">
     <span>Page 1</span>
   </a>
</li>

控制器:

$scope.shouldDisplayBasedOnViewingContext() = function shouldDisplayBasedOnViewingContextFn() {
   return $scope.viewingContext.name == 'Business A' || $scope.viewingContext.name == 'Business B'
}

我第二次将逻辑移动到控制器。

此外,如果你最终可能有两个以上的项目需要检查,你可以列出它们并检查是否包含:

['Business A', 'Business B'].includes(input)      // only works in ES6
['Business A', 'Business B'].indexOf(input) != -1 // works in ES5

最新更新