Angularjs $ scope。$ apply不更新视图

时间:2014-02-06 16:13:55

标签: javascript angularjs

基于Angularjs的视图在模型对象更改后没有得到更新,即使在使用$ apply方法之后也是如此。请告诉我,如果我做错了,这是代码。在引用各种问题和答案之后,我尝试通过调用scope。$ apply()更改对象并更改了范围内的模型对象。$ apply方法,无论哪种方式对我都不起作用。

<table>
<tbody>
   <tr ng-repeat="user in users">
    <td>{{user.name}}</td>
    <td><input type="checkbox" ng-model="user.status" ng-click="toggleUser(user)"/></td>
   </tr>
</tbody>
</table

scope.sendStatus = function(user) {
    //Send to server
    user.status = false;
};

scope.toggleUser = function(user) {
    if (!user.status) {
        bootbox.confirm("Do you want to enable user " + user.name, function(r) {
            if(r) {
                setTimeout(function () {
                    scope.$apply(function () {
                        scope.sendStatus(user);
                    });
                }, 2000);
            }
        });
    } else {
        bootbox.confirm("Do you want to disable user " + user.name, function(r) {
            if(r) {
                setTimeout(function () {
                    scope.$apply(function () {
                        scope.sendStatus(user);
                    });
                }, 2000);
            }
        });
    }
};

0 个答案:

没有答案