从工厂调用时如何从控制器关闭 angular-strap 模态
How to close angular-strap modal from controller when calling from factory
嗯,所以我看到很多人都在努力从控制器关闭 angular-strap 模态。我得到了一些答案,但实际上他们的做法有所不同(我不想改变代码风格)。我使用我的 modalFactory 打开模式,所以我没有 modalInstance。所以我完全不确定,我该如何关闭它。
使用 angular-bootstrap,我知道我可以注入 uibModalInstance 并调用 uibModalInstance.dismiss() 来关闭函数。但是我如何使用 angular-strap modal 做类似的事情。
这是我的工厂:
(function (app) {
'use strict'
app.factory('modalFactory', ['$modal', function ($modal) {
var local = this;
local.modalInstance = ['$scope',
function ($scope) {
$scope.myVar = "Some variable input ";
$scope.closeModal = function(){
console.log("CLose function has been called..")
// How I can close this.
}
}];
return {
openMyModal: function (ip) {
$modal({
templateUrl: 'myModal.html',
controller: local.modalInstance,
size: 'lg',
resolve: {
ip: function () {
return ip;
}
}
})
}
}
}])
})(应用);
完整的 plunkr 可用 here。
在你里面调用$scope.$hide()
clodeModal方法。
(function (app) {
'use strict'
app.factory('modalFactory', ['$modal', function ($modal) {
var local = this;
local.modalInstance = ['$scope',
function ($scope) {
$scope.myVar = "Some variable input ";
$scope.closeModal = function(){
console.log("CLose function has been called..")
$scope.$hide();
}
}];
return {
openMyModal: function (ip) {
$modal({
templateUrl: 'myModal.html',
controller: local.modalInstance,
size: 'lg',
resolve: {
ip: function () {
return ip;
}
}
})
}
}
}])
})(app);
嗯,所以我看到很多人都在努力从控制器关闭 angular-strap 模态。我得到了一些答案,但实际上他们的做法有所不同(我不想改变代码风格)。我使用我的 modalFactory 打开模式,所以我没有 modalInstance。所以我完全不确定,我该如何关闭它。
使用 angular-bootstrap,我知道我可以注入 uibModalInstance 并调用 uibModalInstance.dismiss() 来关闭函数。但是我如何使用 angular-strap modal 做类似的事情。
这是我的工厂:
(function (app) {
'use strict'
app.factory('modalFactory', ['$modal', function ($modal) {
var local = this;
local.modalInstance = ['$scope',
function ($scope) {
$scope.myVar = "Some variable input ";
$scope.closeModal = function(){
console.log("CLose function has been called..")
// How I can close this.
}
}];
return {
openMyModal: function (ip) {
$modal({
templateUrl: 'myModal.html',
controller: local.modalInstance,
size: 'lg',
resolve: {
ip: function () {
return ip;
}
}
})
}
}
}])
})(应用);
完整的 plunkr 可用 here。
在你里面调用$scope.$hide()
clodeModal方法。
(function (app) {
'use strict'
app.factory('modalFactory', ['$modal', function ($modal) {
var local = this;
local.modalInstance = ['$scope',
function ($scope) {
$scope.myVar = "Some variable input ";
$scope.closeModal = function(){
console.log("CLose function has been called..")
$scope.$hide();
}
}];
return {
openMyModal: function (ip) {
$modal({
templateUrl: 'myModal.html',
controller: local.modalInstance,
size: 'lg',
resolve: {
ip: function () {
return ip;
}
}
})
}
}
}])
})(app);