1
開放模式我已經把裏面的服務引導模式,我想從那裏打開它。 但我在螢火蟲中出錯。該代碼仍然工作正常,但有錯誤的螢火獲取未定義的方法錯誤,如果從服務
我有這樣
'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')"
問題是我的螢火
得到這個錯誤TypeError: commonService.open(...) is undefined
commonService.open(modelName).then(function (result) {
但我仍然模式打開罰款與內容
哇,這完美地工作,但我並沒有完全理解這是爲什麼。爲什麼錯誤會這樣說。什麼happenning在我的情況 – user3214546
ModalInstance返回基於用戶交互的值,但是當用戶交互,所以它返回它可以將用戶後可以解決一個承諾對象與您互動modalInstance modalInstance不知道。閱讀有關$ q docs.https://docs.angularjs.org/api/ng/service/$q。在你的情況下,你不會在commonservice.open中返回任何東西,所以當你調用方法common service.open()。then()時,它就像undefined.then() – Konammagari