Angularjs:使用ControllerAs时过滤ngRepeat

Angularjs:使用ControllerAs时过滤ngRepeat,angularjs,Angularjs,最初问了这个问题,包括一个流行的答案,但我找不到一种方法来更新代码以使用ControllerAs var-app=angular.module('myApp',[]); app.filter('slice',function(){ 返回功能(arr、开始、结束){ 返回arr.slice(开始、结束); }; }); app.controller('MainController',function(){ vm=这个; vm.items=[]; vm.start=0; vm.end=20; 对于

最初问了这个问题,包括一个流行的答案,但我找不到一种方法来更新代码以使用ControllerAs

var-app=angular.module('myApp',[]);
app.filter('slice',function(){
返回功能(arr、开始、结束){
返回arr.slice(开始、结束);
};
});
app.controller('MainController',function(){
vm=这个;
vm.items=[];
vm.start=0;
vm.end=20;
对于(var i=0;i<100;i++)vm.items.push(i);
返回虚拟机;
});

开始:结束:
  • {{item}
签出此

使用controllerAs语法时,需要使用控制器指针访问其属性和方法

<div ng-app="myApp">
  <div ng-controller='MainController as main'>
    Start: <input ng-model="main.start"> End: <input ng-model="main.end">
    <ul>
      <li ng-repeat="item in main.items | slice:main.start:main.end">{{item}}</li>
    </ul>
  </div>
</div>
</body>

开始:结束:
  • {{item}
签出此

使用controllerAs语法时,需要使用控制器指针访问其属性和方法

<div ng-app="myApp">
  <div ng-controller='MainController as main'>
    Start: <input ng-model="main.start"> End: <input ng-model="main.end">
    <ul>
      <li ng-repeat="item in main.items | slice:main.start:main.end">{{item}}</li>
    </ul>
  </div>
</div>
</body>

开始:结束:
  • {{item}

捕捉得好。整个
vm=this这件事在我看来很糟糕。它是一个未声明的(两个字母!)变量,以…是的。。人们会混淆$scope和controller的语法。或者有时候只是语法问题..哎哟-太少了一个
main.
为没意思的问题道歉。很好。整个
vm=this这件事在我看来很糟糕。它是一个未声明的(两个字母!)变量,以…是的。。人们会混淆$scope和controller的语法。或者有时候只是语法问题..哎哟-太少了一个
main.
为没意思的问题道歉。