我有几个div属性,一次只显示其中一个属性。我现在有这样的事情:
div(ng-show='x & y & z')
...
div(ng-show='(g || y) & z')
...
div(ng-show='k || z')
...
由于ng-switch需要一个“on”属性,我必须在这里调用许多不同的函数来评估我的ng-shows,我不知道什么是更好的方法。但这绝对不能提供最佳性能。因为第一次ng-show评估为TRUE时,我不想评估其他人。
你有什么建议吗?
答案 0 :(得分:0)
由于我不知道对象是什么样的或者你想要做什么,我只想举例说明构建指令......
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页面并根据需要进行构建。
这里有一个plunk供您查看。