我正在为搜索应用构建一个过滤组件,这是我第一次进入AngularJS。
这是一个Plunker或者我到目前为止所做的,它的工作原理我想要它:
这个实现有两件事与我有关:
我必须将filters
作为filter
指令的一个属性,才能访问filters
上的MainController
,当然必须有更好的方法去做这个?我想修改filters
对象,而不必将其作为属性传递。
在addFilter
指令中定义filtergroup
是正确的,还是应该在MainController
上定义?
我一直在谷歌上搜索一段时间,但似乎无法找到替代方案,并希望对此有任何帮助。
干杯。
答案 0 :(得分:1)
AngularJS方式是显示它在html中的作用。 Html必须通过不将其隐藏到JS来解释功能。
例如,除非我阅读你的JS,否则如何知道此更新过滤器?因此,除非有必要,否则尽量不做任何事。如果您制定任何指令,请尝试将该功能公开给html。
<filtergroup type="filter-name" filter-store="filters">
Angularjs中有很多好的指令。我总是先用它们。
我就是这样做的,http://plnkr.co/edit/okCp5FZJo1ZR9962uaHT?p=preview
<div class="sidebar">
<p>Filters: {{ filters }}</p>
filter1 <input type="checkbox" ng-model="filters[1]"/><br/>
filter2 <input type="checkbox" ng-model="filters[2]"/><br/>
filter3 <input type="checkbox" ng-model="filters[3]"/><br/>
filter4 <input type="checkbox" ng-model="filters[4]"/><br/>
filter5 <input type="checkbox" ng-model="filters[5]"/><br/>
</div>
“代码少,管理不善”