【问题标题】:Confused by AngularUI modal documentation被 AngularUI 模态文档弄糊涂了
【发布时间】:2014-09-11 11:25:13
【问题描述】:

我是 Angular 新手,对 AngularUI 模态对话框的文档感到困惑。我看不到那里显示的代码如何适合主页的控制器,或者主页上的按钮在单击时如何打开模式对话框。

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

ModalDemoCtrl 是否应该附加到主页应用程序的控制器中?

  var myApp = angular.module('myApp', ['ui.bootstrap']);

  var ModalDemoCtrl = function($scope, $modal, $log) {
        <snip>
  }
  myApp.controller("ModalDemoCtrl");

还是 ModalDemoCtrl 函数对象只是嵌套在主页的控制器中?

 var myApp = angular.module('myApp', ['ui.bootstrap']);

 myApp.controller("MainPageCtrl", function($scope, $modal, $log) {

       var ModalDemoCtrl = function($scope, $modal, $log) {
        <snip>
        }
});

【问题讨论】:

    标签: angularjs angular-ui angular-ui-bootstrap


    【解决方案1】:

    基本上就是一个普通的控制器:

    var modal = $modal.open({
           templateUrl: 'deleteDialog.html',
           controller: 'deleteDialogController'
    });
    
    modal.result.then(function () {
    
    });
    

    删除DialogController.js 文件:

    appModule.controller("deleteDialogController", [ "$scope", "$modalInstance",
        function ($scope, $modalInstance)
        {
            $scope.ok = function () {
                $modalInstance.close();
            };
    
            $scope.cancel = function () {
                $modalInstance.dismiss('cancel');
            };
        }
    ]);
    

    【讨论】:

    • 完全同意基本上就是普通控制器
    • 主页面和html片段是否有相同的控制器?此外,在配置中,您为controller 属性提供了一个字符串,即控制器的名称,而文档有一个对象引用。
    • @Tim 它可以是不同文件中的控制器或内联定义plnkr.co/edit/l56203bfNiibGeB4CfdW?p=preview,我更喜欢不同的文件选项
    • 终于让它工作了!当 sn-p 存储在单独的文件中时,通过从 html sn-p 中删除 `
    • 谢谢@MajoB,这很有帮助。但我不明白你的例子中的templateUrl
    猜你喜欢
    • 2022-01-23
    • 2019-01-12
    • 1970-01-01
    • 1970-01-01
    • 2013-04-18
    • 2014-08-14
    • 2016-02-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多