我想使用函数更改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';
};
完整示例
答案 0 :(得分:10)
使用controllerAs
模式时,您应该在从控制器功能访问任何变量时使用controller
别名。但这应该与this
的{{1}}上下文绑定。
controller
<强>扩展强>
在控制器工厂函数中使用<button ng-click="todoList.example(todo)">Click me</button>
关键字时,请记住。您应该将this
变量分配给某个变量,以确保您使用的this
不是其他this
,请查看this
context related issue。
this