为了账号安全,请及时绑定邮箱和手机立即绑定

AngularJS从js函数外部访问范围

AngularJS从js函数外部访问范围

喵喵时光机 2019-08-15 17:10:36
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';
    })}

演示:小提琴


查看完整回答
反对 回复 2019-08-15
?
慕妹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';

})


查看完整回答
反对 回复 2019-08-15
  • 3 回答
  • 0 关注
  • 599 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信