使用 ng-click 更改 ng-repeat 循环中的值
Change a value inside ng-repeat cycle with ng-click
我想使用函数在 ng-repeat 循环中更改项目的值。
这个例子是行不通的。
HTML
<ul class="unstyled">
<li ng-repeat="todo in todoList.todos">
<span>{{todo.name}}</span>
<button ng-click="example(todo)">Change me</button>
</li>
</ul>
JS
$scope.example = function(v) {
v.name = 'i am different now';
};
完整示例
当使用 controllerAs
模式时,您应该在从控制器函数访问任何变量时使用 controller
别名。但这应该限制在 controller
的 this
上下文中。
<button ng-click="todoList.example(todo)">Click me</button>
扩展
在控制器工厂函数中使用 this
关键字时还要记住。您应该将 this
变量分配给某个变量,以确保您使用的 this
不是其他 this
,请查看 .
angular.module('todoApp', [])
.controller('TodoListController', function() {
var toList = this;
toList.todos = [{name:'test 1'},{name:'test 2'}];
toList.example = function(v) {
v.name = 'ora bene';
};
});
我想使用函数在 ng-repeat 循环中更改项目的值。
这个例子是行不通的。
HTML
<ul class="unstyled">
<li ng-repeat="todo in todoList.todos">
<span>{{todo.name}}</span>
<button ng-click="example(todo)">Change me</button>
</li>
</ul>
JS
$scope.example = function(v) {
v.name = 'i am different now';
};
完整示例
当使用 controllerAs
模式时,您应该在从控制器函数访问任何变量时使用 controller
别名。但这应该限制在 controller
的 this
上下文中。
<button ng-click="todoList.example(todo)">Click me</button>
扩展
在控制器工厂函数中使用 this
关键字时还要记住。您应该将 this
变量分配给某个变量,以确保您使用的 this
不是其他 this
,请查看
angular.module('todoApp', [])
.controller('TodoListController', function() {
var toList = this;
toList.todos = [{name:'test 1'},{name:'test 2'}];
toList.example = function(v) {
v.name = 'ora bene';
};
});