从本机javascript访问角度js控制器变量

时间:2015-04-16 08:18:27

标签: javascript angularjs

我知道这很脏但是我需要从一个非角度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.???);
}

1 个答案:

答案 0 :(得分:6)

首先,您需要获取控制器的scope对象。我会选择一种我知道的方式:

要获取控制器的范围,您必须获取DOM元素的引用并调用scope()

例如,如果特定的Dom元素具有mg-controller设置,那么

var scope = angular.element(document.querySelector(".selectorHere")).scope();

现在,您可以在此处访问任何范围属性。

scope.myVariable = "set some value";

但是由于你正在使用角度范围,你必须使用$ apply()手动触发摘要周期。

scope.$apply();