我是AngularJs的初学者,我有很多问题:/
以下是其中一个:
我有用于过滤数据的链接。因此,当我点击第一个链接时,过滤器myFilter
的值为1,等等。
只是为了告诉你我的过滤器工作,我推了两次链接(见http://plnkr.co/edit/2G6mahkmyIixMJ1mEVKp?p=preview)
在上面的链接中,我使用ng-swich,因为我想,当我点击链接时,删除链接并只保留文本
在底部链接中,没有ng-swich
,因此myFilter
完美无缺
是否可以让ng-click
内的ng-swich
工作?
答案 0 :(得分:1)
您处理问题的方式涉及太多的代码重复。
直接在html中替换对象也是一种不好的做法。如果你使用绑定到范围的函数它更干净,你就不会遇到子范围问题
您可以在每个<ul>
中使用ng-if
,而只使用一个<li>
,而不是创建四个<ul>
。这也是创建一个非常简单的指令
HTML
<li>
<span ng-if="myFilter.trimestre==1">Avril - juin</span>
<a ng-if="myFilter.trimestre!=1" ng-click="updateFilter('trimestre',1)" href="#">Avril - juin</a>
</li>
JS
$scope.myFilter={};
$scope.updateFilter = function(key, val){
$scope.myFilter[key]=val;
}
的 DEMO 强>