아래에 코드 스 니펫이 있습니다.angularjs의 컨트롤러 내부에서 일반적인 자바 스크립트 함수를 정의하는 방법
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를 호출 할 수 있습니다. 같은 콘솔에서 오류가 발생했습니다
Uncaught ReferenceError: callme is not defined
이 방법이 있습니까?
나는 callme 함수 내에서 $ window와 같은 컨트롤러 매개 변수를 사용해야하므로 컨트롤러 내부에 callme 함수를 정의합니다. 내 JS 파일에 함수를 실행 한
이미
.run(function($rootScope, $log, $window) {
});
내 요구 사항은 전화 익명 함수처럼 아래 부하에 나는 응답을 처리하는 하나의 방법을 호출 할 필요가 일부 API 응답이있을 것이다 좋아한다. 이러한 컨트롤러 매개 변수 때문에 컨트롤러 내부에 내 메서드를 정의하려고했습니다. 이것을 달성하기위한 다른 방법이 있습니까?
로직이 꺼져 있습니다. 컨트롤러 외부에서'callme '을 정의하거나 (컨트롤러에서 호출 할 수 있음), 또는 여러분이 만든 다른 범위 안에 정의하십시오. –
그러면 컨트롤러 외부에서 callme를 호출하면 $ scope를 어떻게 사용할 수 있습니까? –
다른 변수를 전달할 때'callme'에'$ scope'를 인자로 넘길 수 있습니다. (예 : 컨트롤러에서 :'callme ($ scope, response);'). –