Angular ui引导模式传递多个参数

Posted

技术标签:

【中文标题】Angular ui引导模式传递多个参数【英文标题】:Angular ui bootstrap modal passing multiple parameters 【发布时间】:2014-07-09 01:23:18 【问题描述】:

我正在为我的一个应用程序使用角度 ui 引导模式。目前我正在使用以下方法调用模态实例:

<button class="btn btn-default btn-sm pull-right" 
ng-click="open(node.id)">Add Course <span class="glyphicon glyphicon-plus">
</span>
</button>

我已将模态定义如下:

$scope.open = function (node) 
    var modalInstance = $modal.open(
        templateUrl: 'myModalContent.html',
        controller: ModalInstanceCtrl,
        resolve: 
            detail: function() 
                return node;
            
           
    );
;

这里open() 函数传递了节点的id。这里的节点是一个 django 项目,其中包含 id、必需等详细信息。

我的模态实例定义如下:

var ModalInstanceCtrl = function ($scope, $http, $log, $modalInstance, detail) 
    $scope.subcategory = detail;
;

到目前为止,模态运行良好,我能够将 node.id 传递给模态。但现在我想将节点内的其他参数(如open(node.required, node.id) 等)传递给模态。 如何修改我的模态open()modalinstance() 函数以接收multiplt 参数?

【问题讨论】:

看起来你应该在你的 ng-click 中用 open(node) 替换 open(node.id) 这样你就可以将整个节点传递到你的 ModalInstanceCtrl 中。但是,如果您想在创建 ModalInstanceCtrl 的实例时添加更多要注入的构造函数参数,则必须将它们添加到解析对象中。 我都试过了。但由于某种原因他们没有工作 如果您需要帮助,请发布一个 plunker,根据提供的描述很难提供帮助。 您能否展示您尝试编写但不起作用的代码? 【参考方案1】:

您可以向解析部分添加更多对象:

$scope.open = function (node, node2) 
    var modalInstance = $modal.open(
        templateUrl: 'myModalContent.html',
        controller: ModalInstanceCtrl,
        resolve: 
            detail: function() 
                return node;
            ,
            detail2: function() 
                return node2;
            
           
    );
;

【讨论】:

我认为你的意思是“moreDetail”是“otherStuff” 好吧,也许这些名字令人困惑,更新以更好地匹配问题。 很好的答案,谢谢你。我试图将它们添加到相同的解析函数中,这就是问题

以上是关于Angular ui引导模式传递多个参数的主要内容,如果未能解决你的问题,请参考以下文章

带 Angular 的引导程序“错误:$(...).collapse() 不是函数”

UI和后台参数传递规则

Angular ui-router - 如何访问从父模板传递的嵌套命名视图中的参数?

将参数从带有分页的元素列表传递给引导模式

引导模式中的Angularjs多选下拉菜单

在Angular2中传递多个路径参数