我收到此错误https://code.angularjs.org/1.3.16/docs/error/ngRepeat/badident 当我尝试使用ngRepeat别名作为语法与控制器作为语法:
<li ng-repeat="item in vm.items | filter:vm.searchString as vm.collections">{{item}}</li>
不允许或我做错了什么?
答案 0 :(得分:8)
如果你需要将结果存储在vm变量上,你可以这样做
<li ng-repeat="item in vm.collections = (vm.items | filter:vm.searchString)">{{item}}</li>
如果没有,那么Donal的解决方案将起作用
答案 1 :(得分:1)
应该是一个简单的标识符(这样你可以用var {name}声明它)
<li ng-repeat="item in vm.items | filter:searchString as collections">{{item}}</li>
答案 2 :(得分:0)
我弄清楚为什么我会遇到类似的问题。
Angular文档没有明确说明......但如果您要使用Controller As语法,则必须将模型值设置为&#34;这个&#34;在你的控制器上。您无法将值设置为$ scope。
在别名后检查$ scope时,可以在父$ scope上看到一个带有别名名称的新属性。
我的别名是pmt。我从
改变了我的属性和功能$scope.myProperty
到
var vm = this;
vm.myProperty
当你检查我的别名控制器的$ scope。$ parent时,你会看到vm列在它的属性上。这就是他们如何做别名。
非常希望文档对此有明确的说明。