外部javascript的js修改angularjs域中的值

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u014643282/article/details/82017463

首先查看当前的外部js跟哪个controller有关联,插入如下代码即可

var appElement = document.querySelector('[ng-controller=paramCtrl]');
var scope = angular.element(appElement).scope();
//这部就是我们要修改变量的值
scope.paramValue = "要传的值";
//修改完成后,需进行提交
//a、外部改变了scope的值,如果想同步到Angular控制器中,则需要调用$apply()方法即可
$scope.$apply();
//b、异步提交
$scope.$applyAsync();

需要注意问题点:

1、最初没有加入$scope.$apply();方法,页面值不刷新或者刷新很缓慢。

2、使用$scope.$apply()方法时会报【Error: [$rootScope:inprog]】错误。

出现原因:AngularJS报如上错误信息时,代表angular说它已经在处理脏数据了,再立马apply()方法相当于在催它。

解决办法:用如上b的异步提交方法即可。

$scope.$applyAsync();

猜你喜欢

转载自blog.csdn.net/u014643282/article/details/82017463