美文网首页
$apply()方法

$apply()方法

作者: Rasho_Moon | 来源:发表于2016-08-28 19:18 被阅读0次

    Angular中的双向绑定特性非常方便。在js中设置scope模型,如果scope发生改变,则在html视图中相应的值也会发生变化。同样,如果视图中的值发生变化,scope值也会接受反馈发生变化。
    这种双向绑定的特性是由Angular内部设置的观察者(同$watch一样),定期向模型进行监听,通常是不需要我们进行额外操作的。
    但是如果在Angular上下文之外的地方进行了修改,比如说,在一个按钮点击事件function()上修改了scope的值,这样AngularJS就没法观察到我们修改了什么,这样必须手动调用$apply()方法(其实在Angular内部设置的观察者时它也会主动调用$apply(),但作用范围只适用于AngularJS的上下文,固需要我们手动调用)。

    示例

    //按钮绑定事件 
    $scope.btnClick =  function btnClick() {
           //修改scope的值
           $scope.status = !$scope.status;
           $scope.apply();
    }
    

    或者

    //按钮绑定事件 
    $scope.btnClick =  function btnClick() {
           $scope.apply(function(){
           //修改scope的值
           $scope.status = !$scope.status;
         });
    }
    

    相关文章

      网友评论

          本文标题:$apply()方法

          本文链接:https://www.haomeiwen.com/subject/luxxettx.html