【问题标题】:How to have two different modals on a same controller on a same page?如何在同一页面上的同一控制器上有两个不同的模式?
【发布时间】:2015-01-27 03:48:21
【问题描述】:

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

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

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

【问题讨论】:

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


    【解决方案1】:

    我查看了您的 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() 并且一切正常。

    您仍然需要连接一些代码来处理来自模式的结果,但这应该可以帮助您入门。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-20
    • 1970-01-01
    • 1970-01-01
    • 2017-01-27
    • 2019-02-21
    • 2016-09-07
    • 2013-05-31
    相关资源
    最近更新 更多