gpt4 book ai didi

angularjs - 来自服务的 ionic 模式窗口

转载 作者:行者123 更新时间:2023-12-03 08:11:54 24 4
gpt4 key购买 nike

好吧,我遇到了以下问题,我有一个可以从 Controller 访问的模型窗口,问题是我需要它可以从多个 Controller 访问,所以我想,“也许我可以创建我可以注入(inject)我的 Controller 并从那里调用模态的工厂吗?”所以我尝试了以下方法:

.factory('FSTestService', function ($rootScope, $ionicModal) {


var completed = false;
var loggedIn = false;


// Create the ILS questionnaire modal that we will use later
$ionicModal.fromTemplateUrl('templates/FS-Form-container.html', {
scope: $rootScope
}).then(function (modal) {

$rootScope.FSModal = modal;

});


return {
FSFrom: function () {
$rootScope.FSModal.show();
}
}


})

然后在我尝试的 Controller 上:

.controller('CursosCtrl', function ($scope, CursosService, FSTestService) {

FSTestService.FSForm;


})

但是没有任何反应,如果我去调用“FSForm”作为一个函数,也就是说改变上述代码如下:

.controller('CursosCtrl', function ($scope, CursosService, FSTestService) {  
FSTestService.FSForm();

})

我到处都是一堆错误,所以我的问题是,这可能吗?下一步的标准方法是什么?

最佳答案

我目前正在调查同样的问题并找到了 this solution .我知道我在这方面已经很晚了,但迟到总比不到好!

angular.module('evenementoApp', ['ionic'])

.service('ModalService', function($ionicModal, $rootScope) {


var init = function(tpl, $scope) {

var promise;
$scope = $scope || $rootScope.$new();

promise = $ionicModal.fromTemplateUrl(tpl, {
scope: $scope,
animation: 'slide-in-up'
}).then(function(modal) {
$scope.modal = modal;
return modal;
});

$scope.openModal = function() {
$scope.modal.show();
};
$scope.closeModal = function() {
$scope.modal.hide();
};
$scope.$on('$destroy', function() {
$scope.modal.remove();
});

return promise;
}

return {
init: init
}

})

.controller('MainCtrl', function($scope, ModalService) {

$scope.modal1 = function() {
ModalService
.init('modal1.html', $scope)
.then(function(modal) {
modal.show();
});
};

$scope.modal2 = function() {
ModalService
.init('modal2.html')
.then(function(modal) {
modal.show();
});
};
})

然后只需从您的标记中调用 $scope.modal1() 或 $scope.modal2() 即可。

关于angularjs - 来自服务的 ionic 模式窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25214451/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com