Javascript 来自不同控制器的闭合角模态
我是Angular的新手(我必须在我以前的同事之后编辑一个项目) 我已经定义了FormController和ModalController。 ModalController的定义如下:Javascript 来自不同控制器的闭合角模态,javascript,angularjs,bootstrap-ui,Javascript,Angularjs,Bootstrap Ui,我是Angular的新手(我必须在我以前的同事之后编辑一个项目) 我已经定义了FormController和ModalController。 ModalController的定义如下: angular.module('app', [...]).controller('ModalController', ['part', class { constructor(part) { this.part = part; } }]); 在FormController中,我有以
angular.module('app', [...]).controller('ModalController', ['part', class {
constructor(part) {
this.part = part;
}
}]);
在FormController中,我有以下代码打开模式:
openModal(template, part) {
this.$uibModal.open({
animation: true,
templateUrl: template + '.html',
controller: 'ModalController',
controllerAs: 'ModalCtrl',
resolve: {
part: () => {
return something;
}
}
});
}
我的问题是关闭modal(在视图中单击按钮后)。您必须将uib modal的实例注入包含close方法的modal控制器中。您可以使用它来关闭模式
openModal(template, part) {
var modalInstance = $uibModal.open({
animation: true,
templateUrl: template + '.html',
controller: 'ModalController',
controllerAs: 'ModalCtrl',
resolve: {
part: () => {
return something;
}
}
});
}
将modalInstance注入模态控制器,然后可以使用
modalInstance .close()
方法关闭模式。您必须将uib modal的实例注入包含close方法的modal控制器。您可以使用它来关闭模式
openModal(template, part) {
var modalInstance = $uibModal.open({
animation: true,
templateUrl: template + '.html',
controller: 'ModalController',
controllerAs: 'ModalCtrl',
resolve: {
part: () => {
return something;
}
}
});
}
将modalInstance注入模态控制器,然后可以使用
modalInstance .close()
方法关闭模态。您需要将依赖项
$uibModalInstance
注入模态的控制器
openModal(template, part) {
var modalInstance = $uibModal.open({
animation: true,
templateUrl: template + '.html',
controller: 'ModalController',
controllerAs: 'ModalCtrl',
resolve: {
part: () => {
return something;
}
}
});
}
然后您可以使用$disclose
或$close
,如本例所示,取自:
由于您的控制器被实例化为part
,您可以使用它,并且假定您不需要传递结果或原因,您也可以从方法中删除这些参数:
part.ok = function () {
$uibModalInstance.close();
};
part.cancel = function () {
$uibModalInstance.dismiss();
};
另外,如果您看到使用了前缀为
$uib
的内容,这意味着它是组件的一部分,希望这些知识能够帮助您在将来搜索更多需要的信息。您需要将依赖项$uibModalInstance
注入模态的控制器中
然后您可以使用$disclose
或$close
,如本例所示,取自:
由于您的控制器被实例化为part
,您可以使用它,并且假定您不需要传递结果或原因,您也可以从方法中删除这些参数:
part.ok = function () {
$uibModalInstance.close();
};
part.cancel = function () {
$uibModalInstance.dismiss();
};
另外,如果您看到使用了前缀为
$uib
的东西,这意味着它是组件的一部分,希望这些知识能够帮助您在将来搜索更多需要的信息。您可以通过以下方式将模态实例传递到控制器:
angular.module('app', [...]).controller('ModalController', ['part', '$uibModalInstance', class {
constructor(part, $uibModalInstance) {
this.part = part;
}
}]);
正如Callum所说,使用
$uibModalInstance
的dismise()
和close()
函数关闭模态实例 您可以通过以下方式将模态实例传递到控制器:
angular.module('app', [...]).controller('ModalController', ['part', '$uibModalInstance', class {
constructor(part, $uibModalInstance) {
this.part = part;
}
}]);
正如Callum所说,使用
$uibModalInstance
的dismise()
和close()
函数关闭模态实例 您可以通过jquery实现这一点:$(“#modalName”).modal('hide')@Jenny大多数Angularjs开发人员在回答Angularjs问题时都尽量避免使用jQuery@Jenny大多数Angularjs开发人员在回答Angularjs问题时尽量避免建议使用jQuery。我如何将模态实例传递到ModalController?您可以通过以下方式将其传递到控制器声明中:angular.module('app',[…]).controller('ModalController',['part','$uibModalInstance',class{constructor'(part,$uibModalInstance)
如何将模态实例传递到ModalController?您可以通过以下方式将其传递到控制器声明中:angular.module('app',[…]).controller('ModalController',['part','uibModalInstance',class{constructor(part,$uibModalInstance)