Javascript AngularJS ng重复和控制
我使用简单的语法来显示、隐藏ng repeat中的元素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> 但同样的
<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}}
测试