Javascript AngularJS ng重复和控制

Javascript AngularJS ng重复和控制,javascript,angularjs,Javascript,Angularjs,我使用简单的语法来显示、隐藏ng repeat中的元素 <div ng-controller='MainController as vm'> <ul> <li ng-repeat="item in vm.items" ng-click="vm.showItem()"> {{item}} <span ng-show="show">test</span> </li> </ul> 但同样的

我使用简单的语法来显示、隐藏ng repeat中的元素

<div ng-controller='MainController as vm'>
<ul>
  <li ng-repeat="item in vm.items" ng-click="vm.showItem()">
    {{item}}
    <span ng-show="show">test</span>
    </li>
</ul>
但同样的代码和controllerAs不起作用

 vm = this; 
 vm.showItem = function(){
    this.show=!this.show;
 }
如何在ng repeat中访问显示当前项的属性

控制器组件


$scope

您需要使用
vm.show=!vm.show

vm = this; 
 vm.showItem = function(){
    vm.show=!vm.show;
 }

您需要使用
vm.show=!vm.show

vm = this; 
 vm.showItem = function(){
    vm.show=!vm.show;
 }

将函数定义替换为

vm.show = !vm.show;
我已经附上了示例代码片段


安古拉斯普朗克
文件。写(“”);
var-app=angular.module('myApp',[]);
应用控制器('MainController',函数(){
vm=这个;
vm.items=[];
vm.start=0;
vm.end=20;
对于(var i=0;i<10;i++)vm.items.push(i);
//返回虚拟机;
vm=这个;
vm.show=true;
vm.showItem=函数(){
vm.show=!vm.show;
}
});
  • {{item}} 测试

将函数定义替换为

vm.show = !vm.show;
我已经附上了示例代码片段


安古拉斯普朗克
文件。写(“”);
var-app=angular.module('myApp',[]);
应用控制器('MainController',函数(){
vm=这个;
vm.items=[];
vm.start=0;
vm.end=20;
对于(var i=0;i<10;i++)vm.items.push(i);
//返回虚拟机;
vm=这个;
vm.show=true;
vm.showItem=函数(){
vm.show=!vm.show;
}
});
  • {{item}} 测试

从类似html的

 <li ng-repeat="item in vm.items" ng-click="vm.showItem(this)">
您面临的问题是
上下文的更改


更新的plunker

从类似html的

 <li ng-repeat="item in vm.items" ng-click="vm.showItem(this)">
您面临的问题是
上下文的更改

更新的plunker

概念验证:
var-app=angular.module('myApp',[]);
app.controller('MainController',function(){
vm=这个;
vm.items=[];
对于(var i=0;i<10;i++)vm.items.push({
价值观:我,
秀:假,,
showItem:function(){
this.show=!this.show
}
});
});

  • {{item.value}} 测试
概念验证:
var-app=angular.module('myApp',[]);
app.controller('MainController',function(){
vm=这个;
vm.items=[];
对于(var i=0;i<10;i++)vm.items.push({
价值观:我,
秀:假,,
showItem:function(){
this.show=!this.show
}
});
});

  • {{item.value}} 测试