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 關注
- 630 瀏覽
添加回答
舉報
0/150
提交
取消