首先查看当前的外部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();