我知道这很脏但是我需要从一个非角度js的外部函数访问和编辑角度js控制器中的变量。我该怎么办?
module.controller('table', function($rootScope, $scope, $modal, $q, $compile, $timeout,fields, querySrv, dashboard, filterSrv) {
var _d = {
size : 100
}
}
功能:
get_var = function(){
console.log("get_var");
console.log(document.???);
}
答案 0 :(得分:6)
首先,您需要获取控制器的scope
对象。我会选择一种我知道的方式:
要获取控制器的范围,您必须获取DOM元素的引用并调用scope()
例如,如果特定的Dom元素具有mg-controller
设置,那么
var scope = angular.element(document.querySelector(".selectorHere")).scope();
现在,您可以在此处访问任何范围属性。
scope.myVariable = "set some value";
但是由于你正在使用角度范围,你必须使用$ apply()手动触发摘要周期。
scope.$apply();