如何将自定义属性从 `angular-ui-bootstrap` 传递到 `$modal`

问题描述 投票:0回答:1

有两次我必须打开这样的模式:

    $modal.open({
      templateUrl: "components/prize-info/prize-info.html",
      windowClass: "prize-info",
      scope: $scope,
      controller: "PrizeInfoController"
    });

我必须创建两个相同的模态,它们的不同之处仅在于它所显示的奖品 - 这是同一个

$scope
中的两个不同的数组。

所以 - 不要从上面复制控制器及其模板,只更改范围的道具,提供奖品 - 我怎样才能将一些东西传递给

$modal.open
方法并使用一个相同的控制器,这将循环不同的范围奖品?

angularjs properties controller angular-ui-bootstrap
1个回答
0
投票

如果您的作用域已经拥有这两个数组,则将作用域传递给模式意味着您已经在模式的作用域中拥有了这些数组。只需从那里抓住它们即可。

或者,您可以通过解析属性传递它。

请参阅文档进行解决

resolve (类型:对象) - 将被解析并作为本地变量传递给控制器的成员;它相当于路由器中的resolve属性。

$modal.open({
  templateUrl: "components/prize-info/prize-info.html",
  windowClass: "prize-info",
  scope: $scope,
  controller: "PrizeInfoController",
  resolve: {
    myData: () => {
      // return your data
    }
  }
});
© www.soinside.com 2019 - 2024. All rights reserved.