首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用ng-click单击复选框不会更新模型

使用ng-click单击复选框不会更新模型
EN

Stack Overflow用户
提问于 2013-10-21 22:09:09
回答 7查看 115.9K关注 0票数 85

单击复选框并调用ng-click:在ng-click生效之前不会更新模型,因此复选框值会错误地显示在UI中:

这在AngularJS 1.0.7中有效,但在Angualar1.2-RCx中似乎失效了。

代码语言:javascript
复制
<div ng-app="myApp" ng-controller="Ctrl">
<li  ng-repeat="todo in todos">
  <input type='checkbox' ng-click='onCompleteTodo(todo)' ng-model="todo.done">
    {{todo.text}}
</li> 
<hr>
task: {{todoText}}
<hr><h2>Wrong value</h2>
     done: {{doneAfterClick}}

和控制器:

代码语言:javascript
复制
angular.module('myApp', [])
  .controller('Ctrl', ['$scope', function($scope) {
    $scope.todos=[
        {'text': "get milk",
         'done': true
         },
        {'text': "get milk2",
         'done': false
         }
        ];


   $scope.onCompleteTodo = function(todo) {
    console.log("onCompleteTodo -done: " + todo.done + " : " + todo.text);
    $scope.doneAfterClick=todo.done;
    $scope.todoText = todo.text;

   };
}]);

带Angular 1.2 RCx - http://jsfiddle.net/supercobra/ekD3r/的破碎小提琴

Working fidddle w/ Angular 1.0.0 - http://jsfiddle.net/supercobra/8FQNw/

EN

回答 7

Stack Overflow用户

发布于 2014-03-06 02:06:25

正如https://github.com/angular/angular.js/issues/4765中所报道的,从ng-click切换到ng-change似乎可以解决这个问题(我使用的是Angular 1.2.14)

票数 11
EN

Stack Overflow用户

发布于 2013-10-21 23:55:16

你为什么不用

代码语言:javascript
复制
$watch('todo',function(.....

或者另一种解决方案是在ng-click回调中设置todo.done,并且只使用ng-click

代码语言:javascript
复制
<div ng-app="myApp" ng-controller="Ctrl">
<li  ng-repeat="todo in todos">
<input type='checkbox' ng-click='onCompleteTodo(todo)'>
    {{todo.text}} {{todo.done}}

代码语言:javascript
复制
$scope.onCompleteTodo = function(todo) {
        todo.done = !todo.done; //toggle value
        console.log("onCompleteTodo -done: " + todo.done + " : " + todo.text);
        $scope.current = todo;
}
票数 8
EN

Stack Overflow用户

发布于 2016-08-17 03:38:33

用ng-checked替换ng-model对我来说是可行的。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19496821

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档