小编典典

外部JS函数的AngularJS访问范围

angularjs

我正在尝试查看是否存在通过外部javascript函数访问控制器内部范围的简单方法(与目标控制器完全无关)

我在其他几个问题上看到

angular.element("#scope").scope();

会从DOM元素中检索范围,但是我的尝试目前未产生正确的结果。

这是jsfiddle:http :
//jsfiddle.net/sXkjc/5/

我目前正在经历从纯JS到Angular的过渡。我试图实现这一目标的主要原因是要保持原始库代码尽可能完整。无需我将每个功能添加到控制器。

关于如何实现这一目标的任何想法?也欢迎对上面的小提琴发表评论。


阅读 222

收藏
2020-07-04

共1个答案

小编典典

如果要从angularjs控件之外(例如jquery / javascript事件处理程序)对范围值进行任何更改,则需要使用$ scope。$
apply()

function change() {
    alert("a");
    var scope = angular.element($("#outer")).scope();
    scope.$apply(function(){
        scope.msg = 'Superhero';
    })
}

演示:小提琴

2020-07-04