如何在同一页面上的同一个控制器上有两个不同的模态?

时间:2014-11-28 13:11:55

标签: javascript angularjs angularjs-scope angular-ui-bootstrap angular-directive

我需要在我的页面上有两个模态窗口,每个窗口内部都是一个带有一些字段的窗体,但我不知道如何将所有这些放在同一个控制器中。这是我的代码的附加链接

<html>http://plnkr.co/edit/pudTGMcTAiNNJxHjYNut?p=preview</html>

它工作正常,但我不知道如何将这两个控制器合并为一个

1 个答案:

答案 0 :(得分:0)

我查看了您的plunker代码,将AddControllerGroup合并到AddController非常容易。唯一阻止它的是你在两个控制器中调用了方法open

更新的AddController如下所示:

sitesApp.controller('AddController', function ($scope, $modal) {
    $scope.openAddSite = function () {
        var modalInstance = $modal.open({
            templateUrl: 'addSites.html',
            controller: 'ModalInstanceCtrl'
        });
    };

    $scope.sites = [
        {
            url:'',
            color:'',
            groups: []
        },
        {
            url:'',
            color:'',
            groups: []
        },
        {
            url:'',
            color:'',
            groups: []
        }
    ];

    $scope.openAddGroup = function () {
        var modalInstance = $modal.open({
            templateUrl: 'addGroups.html',
            controller: 'ModalInstanceCtrl'
        });
    };

    $scope.groups = [
        {
            name:'',
            color:'',
            sites: []
        },
        {
            name:'',
            color:'',
            sites: []
        },
        {
            name:'',
            color:'',
            sites: []
        }
    ];
});

然后我只是更改了两个按钮来拨打openAddSite()openAddGroup(),这一切都有效。

你仍然需要连接一些代码来处理模态的结果,但这应该可以让你开始。