【问题标题】:Angular ui bootstrap modal passing multiple parametersAngular ui引导模式传递多个参数
【发布时间】: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,根据提供的描述很难提供帮助。
  • 您能否展示您尝试编写但不起作用的代码?

标签: javascript django angularjs twitter-bootstrap


【解决方案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”
  • 好吧,也许这些名字令人困惑,更新以更好地匹配问题。
  • 很好的答案,谢谢你。我试图将它们添加到相同的解析函数中,这就是问题
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多