AngularJS从js函数外部访问范围我试图通过外部javascript函数(与目标控制器完全无关)来查看是否有一种简单的方法来访问控制器的内部范围我在这里看到了其他几个问题angular.element("#scope").scope();将从DOM元素中检索范围,但我的尝试目前没有产生适当的结果。这是jsfiddle:http://jsfiddle.net/sXkjc/5/我目前正在经历从普通JS到Angular的过渡。我试图实现这一目标的主要原因是尽可能保持原始库代码的完整性; 无需我将每个功能添加到控制器。关于如何实现这一目标的任何想法?对上述小提琴的评论也很受欢迎。
3 回答
弑天下
TA贡献1818条经验 获得超8个赞
如果要从angularjs控件之外对范围值进行任何更改(如jquery / javascript事件处理程序),则需要使用$ scope。$ apply()。
function change() { alert("a"); var scope = angular.element($("#outer")).scope(); scope.$apply(function(){ scope.msg = 'Superhero'; })}
演示:小提琴
慕妹3242003
TA贡献1824条经验 获得超6个赞
另一种方法是:
var extScope;
var app = angular.module('myApp', []);
app.controller('myController',function($scope, $http){
extScope = $scope;
})
//below you do what you want to do with $scope as extScope
extScope.$apply(function(){
extScope.test = 'Hello world';
})
- 3 回答
- 0 关注
- 599 浏览
添加回答
举报
0/150
提交
取消