【发布时间】:2017-04-15 03:37:01
【问题描述】:
所以我想制作一个下拉菜单,像这样更改 ng-repeat 的过滤器值:
<div ng-repeat="{{filter}}">
所以我在控制器中有这条线,现在是硬编码的
$scope.filter = 'lang in langs | filter:{type:\'Interpreted\'}';
我可以验证 {{filter}} 确实吐出了字符串,但是当将该字符串作为双括号变量给出时,ng-repeat 不起作用,只有当它被硬编码时。你不能传递角度控制器变量到其他角度函数,如 ng-repeat?
【问题讨论】:
-
ng-repeat="filter"不行吗? -
ng-repeat 已经解析了变量,所以不需要花括号
{{ }},你可以在像class="{{ cond ? 'black' : 'white' }}"这样的非ng属性中使用花括号 -
@Ananth 关于括号你是对的,但不,那是行不通的。
-
@cnorthfield 因为会赋值给控制器中某个函数确定的变量,所以最终结果会是一个下拉菜单来改变过滤器
标签: javascript html angularjs angularjs-ng-repeat