如果从服务打开模态,则出现未定义的方法错误
Getting undefined method error if open modal from service
我已将 bootstrap 模式放入服务中,我想从那里打开它。
但是我在 firebug 中遇到错误。该代码仍然可以正常工作,但 firebug
中存在错误
我有这样的服务
'use strict';
angular.module('test')
.factory('commonService', [
'$http',
'$log',
'$modal',
'$q',
function ($http, $log, $modal, $q) {
var api_url = "/api/";
var
commonService = {
self: this,
open: function (modelName, templateUrl) {
var modalInstance = $modal.open({
templateUrl: templateUrl,
controller: 'ModalInstanceCtrl',
resolve: {
modelName: function () {
return modelName;
}
}
});
modalInstance.result.then(function (result) {
console.log(result);
}, function () {
$log.info('Modal dismissed at: ' + new Date());
});
}//
};
return commonService;
}])
;
这是我的控制器
$scope.openModal = function (modelName) {
commonService.open(modelName, 'test.html').then(function (result) {
console.log('res')
}, function (error) {
console.log(error);
})
};
我在模板中是这样打开的
ng-click="openModal('User')"
问题是我在 firebug
中收到此错误
TypeError: commonService.open(...) is undefined
commonService.open(modelName).then(function (result) {
但我的模式仍然可以正常打开内容
常用service.open方法应该returnmodalInstance.result。这里 modalInstance.result 是一个承诺,您可以在控制器中解决它。
我已将 bootstrap 模式放入服务中,我想从那里打开它。 但是我在 firebug 中遇到错误。该代码仍然可以正常工作,但 firebug
中存在错误我有这样的服务
'use strict';
angular.module('test')
.factory('commonService', [
'$http',
'$log',
'$modal',
'$q',
function ($http, $log, $modal, $q) {
var api_url = "/api/";
var
commonService = {
self: this,
open: function (modelName, templateUrl) {
var modalInstance = $modal.open({
templateUrl: templateUrl,
controller: 'ModalInstanceCtrl',
resolve: {
modelName: function () {
return modelName;
}
}
});
modalInstance.result.then(function (result) {
console.log(result);
}, function () {
$log.info('Modal dismissed at: ' + new Date());
});
}//
};
return commonService;
}])
;
这是我的控制器
$scope.openModal = function (modelName) {
commonService.open(modelName, 'test.html').then(function (result) {
console.log('res')
}, function (error) {
console.log(error);
})
};
我在模板中是这样打开的
ng-click="openModal('User')"
问题是我在 firebug
中收到此错误TypeError: commonService.open(...) is undefined
commonService.open(modelName).then(function (result) {
但我的模式仍然可以正常打开内容
常用service.open方法应该returnmodalInstance.result。这里 modalInstance.result 是一个承诺,您可以在控制器中解决它。