ng $scope()不刷新的问题

这两天开发项目的时候遇到了一个问题,就是在controler里面代码命名执行了,但是页面并没有做任何的改变,大概就是用{{}}做双向数据绑定,$scope做相应的改变操作,首先你要确保没有其他的报错,作用域$scope没问题,然后你就可以考虑$apply()。重点说明:这个时候你肯定用的不是ng自己的东西,比如你用的是jq的或者是其他的第三方库

$apply()函数可以从Angular框架的外部让表达式在Angular上下文内部执行。例如,假设你实现了一个setTimeout()或者使用第三方库并且想让事件运行在Angular上下文内部时,就必须使用$apply()。

简而言之,使用$scope.$apply()时可以从外部进入上下文。如果在事件被触发时调用$apply(),就会使用Angular事件循环来运行它。如果没有调用$apply(),就不会在事件循环内执行这个函数,而它会运行在Angular上下文外部

上面这两段我是抄的,简洁明了,在使用ng-指令的时候会默认调用$apply(),调用它会强制一次$digest(脏检查)循环

试试这个吧

$scope.$apply(function(){
          $scope.est = "Just A Test!"
        })
最好用上面的这种里面嵌套函数的方式使用


另外附上几个相关文章的链接

英文原文

中文翻译

ng性能调优的7个建议,ng-reapt双向绑定超过2500个会变慢

http://www.csdn.net/article/2013-09-18/2816972-AngularJS-performance-tuning-for-long-list

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值