今天在使用angularjs时,发现一个奇怪的问题。就是我改变了对应的model,但是页面数据确没有变化。原本以为是controller控制器嵌套,又嵌套指令的原因。查找自己是不是有哪些代码不妥,但研究了半天也没发现什么不妥。
好在后来改变了调查方向,会不会是angularjs存在的一些缺陷或是什么了。
百度了一下,还真有这问题。
看了这篇文章,太有作用了。
关于angularjs中,数据模型被改变,页面不刷新的解决办法
其实原因也很简单:
在angularjs中使用了JS方法
而我却实是这样的
$scope.updateSecond = function(){
console.log($scope.second);
var now = new Date();
$scope.second = now.getSeconds();
}
setInterval(function(){
$scope.updateSecond();
},1000);
解决办法也是很简单:
在需要更新模型的地方调用该句就行
上面则可以变为
$scope.updateSecond = function(){
console.log($scope.second);
var now = new Date();
$scope.second = now.getSeconds();
$scope.$apply();
}
setInterval(function(){
$scope.updateSecond();
},1000);
尊重作者,转载请注明出处!
版权申明:本文版权归作者所有,未经授权,任何单位或个人不得以任何形式转载、摘编或利用其它方式使用本博客内容。作者保留追究相关法律责任的权利。如需使用博客内容,请与作者联系获得授权。感谢对本文的尊重与支持。
免责声明:本网站所载内容仅供参考,不构成任何专业建议。用户基于本网站内容作出的决策,风险自担。对于因使用本网站内容而产生的任何直接或间接损失,本网站不承担任何责任。请用户审慎判断,理性使用。