如何在没有ng开关的情况下处理角ng显示中的if else情况

How do handle if-else cases in angular ng-show without ng-switch

本文关键字:ng 显示 if 情况 else 处理 情况下 开关      更新时间:2023-09-26

我有几个div属性,一次只显示其中一个。我现在有这样的东西:

div(ng-show='x & y & z')
 ...
div(ng-show='(g || y) & z')
 ...
div(ng-show='k || z')
 ...

由于ng开关需要一个"on"属性,并且我必须调用许多不同的函数来评估我的ng节目,我不知道有什么更好的方法。但这肯定不是最好的性能。因为一旦第一个ng节目被评估为TRUE,我就不想评估其他节目

你有什么建议吗?

由于我不知道对象是什么样子,也不知道你试图构建什么,所以我只举一个构建指令的例子。。。

var myApp = angular.module('myApp',[]);
myApp.controller('myCtrl', function ($scope) {
    $scope.letters = { 
      x: true,
      y: true,
      z: true,
      g: false,
      k: false
    };
});
myApp.directive('checkLetters', function() {
    return {
        restrict: 'E',
        scope: { letters: '=' },
        template: '<div>X is {{letters.x}}, but K is {{letters.k}}</div>'
    };
});

您的HTML只需在页面中显示如下指令。。。

<body ng-controller="myCtrl">
  <check-letters letters="letters"></check-letters>
</body>

您可以内联构建自己的模板,甚至可以为模板创建一个HTML页面,并根据您的需要进行构建。

这是一个让你结账的地方。