1
이고, 현재 열린 모달입니다. 버튼의 사용자가 클릭 모달를 종료 할 때, 그것은 호출TypeError 가져 오는 중 : 정의되지 않은 함수가 내 사이트의 AngularJS
$scope.hideModal = function(modalId) {
angular.element(modalId).hide();
DatabaseService.updateDB();
};
DatabaseService 데이터베이스
var _updateDashboardInterstitialPromoDbService = function(){
//code to update the database
}
나는 실행에 대한 읽기 만드는 방법/변경을 포함하는 별도의 .js 클래스입니다 내 사이트는 모달가 성공적으로 종료,하지만 난 내 콘솔에서 오류를 참조하십시오
TypeError: undefined is not a function at h.$scope.hideModal
어떻게 성공적으로 내 데이터베이스를 업데이트하는 함수를 호출하는이 형식 오류를 해결하는 방법은 무엇입니까?
은 여기 내 ModalCtrl.js
'use strict';
var DashboardCtrl =
[
'$scope',
'DashboardInterstitialPromoService',
function ($scope, DashboardInterstitialPromoService) {
$scope.hideModal = function(modalId) {
angular.element(modalId).hide();
DatabaseService.updateDB();
};
];
의 여기 내 DatabaseService.js이다 : 당신은 당신의 컨트롤러
DatabaseService
을 포함하지 않은
'use strict';
var databaseService = angular.module('database.service', ['ngResource']);
databaseService.factory('DatabaseService',
[
function() {
var _updateDB = function(){
//stuff to update db
};
return {updateDB: _updateDB};
}]);
무엇이'DatabaseService'입니까? 그리고 그것을 당신의 컨트롤러에 어떻게 가져오고 있습니까? – Phil
DatabaseService는 완전히 별개의 .js 파일입니다. 내 컨트롤러 인 MainCtrl.js에 DatabaseService.js가 삽입되었습니다. 그래서 그것은 다음과 같습니다 : var MainCtrl = [ 'DatabaseService', function (DatabaseService) { – user3339360
그래서 등록 된 공장/서비스입니까? 당신은 정말로 당신의 질문에 더 많은 코드를 추가해야 할 것입니다. 'DatabaseService'와 그 메소드'updateDB'를 정의하는 곳을 보여줍니다. 컨트롤러에 주입하는 방법 표시 – Phil