私は以下のコードを持っていますが、ここではfoo(val)
関数を外部のどこからでも呼び出すと仮定しましょう。AngularJs:コールコントローラー機能が外部から 'this'にバインドされました(ブラウザコンソールなど)
angular.module('app', []);
angular.module('app')
.controller('MyController', MyController);
function MyController() {
var self = this;
self.foo = function(val) {
console.log(val);
};
return self;
}
以下のコードは、foo()が$ scopeにバインドされている場合にのみ機能します。
angular.element(document.getElementById('MyController')).scope().foo('Hello');
周りのすべての作業はありますか私はこのために$scope
を使用するように強制されますか?
angular.module('app', []);
angular.module('app')
.controller('MyController', MyController);
function MyController() {
var self = this;
self.foo = function(val) {
console.log(val);
};
window.callFoo = function(val) {
self.foo(val);
}
return self;
}
今、私はどこからこのwindow.callFoo()関数を呼び出すことができる午前:周りの仕事を見つけ
なぜこれをやりたかったですか?サービスを作成してその中に関数を入れ、他のコントローラ/サービスから呼び出すこともできます – AlainIb
http://stackoverflow.com/questions/13743058/how-do-i-access-the-scope-variable-in-browsers- console-using-angularjs?rq = 1 – AlainIb
(少なくともグローバル変数はありません) – Derlin