私は以下のコードスニペットを持っています。ここでanglejsのコントローラの中で通常のjavascript関数を定義する方法
sample.js
(function() {
/*global angular */
'use strict';
angular.module('myapp', ['spinner'])
.controller('myCtrl', ['$scope', '$window', function ($scope, $window) {
$scope.methodname = function() {
if(something){
/* Doing some operations */
}
};
/* Here I need to define the callme javascript function */
function callme(response){
/* If I call like this, I'm getting error in console. */
}
}]); /* Controller ends here */
/* Creating a new anonymous function to perform some operations */
(function() {
'use strict';
/* Edited */
code.util.myHTTP(url, function (response) {
// Adding response to session storage
callme(response);
}, function() {
// Removing from session storage
});
})();
}());
、私は角度のコントローラ内部でcallme javascript関数を呼び出すことができません。コンソールのようにエラーが表示されます
Uncaught ReferenceError: callme is not defined
これを達成する方法はありますか?
私はcallme関数の中で$ windowのようないくつかのコントローラパラメータを使う必要があります。そのため、コントローラ内にcallme関数を定義しています。
私は私のjsファイル内の関数を実行している私の要件は、コール匿名関数のようなものですすでに
.run(function($rootScope, $log, $window) {
});
以下のように、いくつかのAPIレスポンスがあるだろう負荷に、私は応答を処理するための一つの方法を呼び出す必要があります。これらのコントローラパラメータのために、私はコントローラの中に自分のメソッドを定義したかったのです。これを達成する別の方法がありますか?
ロジックがオフです。コントローラの外で 'callme'を定義するか(コントローラから呼び出すことはできます)、あるいは作成した他のスコープの内側に定義します。 –
コントローラの外でcallmeを呼び出すと、$ scopeはどのように使用できますか? –
他の変数を渡すときに 'callme'に引数として' $ scope'を渡すことができます。 (例えば、コントローラ内で: 'callme($ scope、response);')。 –