Tek*_*son 1 javascript angularjs angular-ui-bootstrap
我想知道是否可以将 Id 属性设置为通过 $uibModal 生成的模态,以便稍后我可以通过其 Id 捕获对应元素。我成功地生成了我需要的尽可能多的模态,尽管它们不是用以下代码唯一标识的:
var modalInstance = $uibModal.open({
templateUrl: 'openChat.html',
scope: $scope,
backdrop: 'static',
keyboard: false,
controller: 'openChatModalCtrl',
windowClass: 'chat-modal',
size: 'sm'
}).rendered.then(function () {
console.log('there you go!');
});
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激。
可以$uibModalStack由ui-bootstrap提供的工厂添加id属性:
$ctrl.open = function (size, windowTopClass, id) {
var modalInstance = $uibModal.open({
ariaLabelledBy: 'modal-title',
ariaDescribedBy: 'modal-body',
templateUrl: 'myModalContent.html',
controller: 'ModalInstanceCtrl',
controllerAs: '$ctrl',
size: size,
windowTopClass: windowTopClass,
windowTemplateUrl: 'my-window.html',
resolve: {
projects: function () {
return $ctrl.projects;
}
}
}).rendered.then(function () {
$uibModalStack.getTop().value.modalDomEl.attr('id', id);
});
Run Code Online (Sandbox Code Playgroud)
注意$uibModalStack.getTop().value.modalDomEl.attr('id', id);行,这样id可以从模板传递:
<button type="button"
class="btn btn-default"
ng-click="$ctrl.open('lg', 'my-outer-class2', 'myID2')">Open me2!</button>
Run Code Online (Sandbox Code Playgroud)
还请注意,您可以使用函数的 windowTopClass或windowClass属性$uibModal.open(),这些类也将被添加到顶部模态级别,因此您也可以将它们用于唯一的选择器。
带有 2 个按钮的 plunker 应用 2 个不同的id和 css 类:https : //plnkr.co/edit/vMw1XtyNOED8PIDP0hWe?p=preview
| 归档时间: |
|
| 查看次数: |
3150 次 |
| 最近记录: |