0

我有一个在单击按钮时出现的模式 - 但是我希望模式仅在满足某些条件时出现

HTML 代码

 <button type="button" class="btn btn-outlined" ng-click="vm.changeYear(vm.currentYear+1)" data-modal-target="#add-save-all-alert-modal"></button>

我希望仅在我的控制器的某些条件下调用模态

控制器.js

 vm.changeYear = function (year) {
    if(vm.modifiedBaseline &&  vm.modifiedBaselineToBeCommented){
        statement1;
        statement2;
 }
 else {
  statement3;
 }

我希望在满足条件时调用模态,并同时执行语句 1 和 2 .....如果条件为假,则不调用(显示)我要执行语句 3 的模态。

我不希望按钮被禁用并且不使用任何引导服务......我将如何通过注入条件来打开模式?

我在这一点上陷入了困境

4

1 回答 1

1

看看angular-ui他们的$modal供应商。

http://angular-ui.github.io/bootstrap/#/modal

showDetails(item)使用该$modal服务从您的控制器功能调用模式。data-modal-target="#add-save-all-alert-modal"从 中删除button并扩展您的控制器功能。

$modal服务注入控制器的定义并使用以下

vm.changeYear = function (year) {
    if(vm.modifiedBaseline &&  vm.modifiedBaselineToBeCommented){
       // open modal here
       openModal();
    } else {
      statement3;
    }
}

function openModal(){
    var modalInstance = $modal.open({
        templateUrl: 'modaltemplateurl.html',
        controller: 'ControllerIfNeeded',                       
        ...
    });

    modalInstance.result.then(function () {
        // ok
    }, function () {
        // dismiss
    });
}   
于 2017-06-16T09:59:01.447 回答