如何将ng-repeat中的当前对象传递给$ mdDialog?

时间:2016-04-10 09:29:13

标签: javascript angularjs angular-material

对话框应包含当前所选产品的详细信息。如何使它工作?

目前这不起作用:<h2>Order: {{product.name}}</h2>

CodePen

1 个答案:

答案 0 :(得分:4)

您需要传递locals属性:

ng-click中添加产品:

<md-button class="md-primary md-raised" ng-click="showAdvanced($event, product)">

在对话框中将其传递为locals

$mdDialog.show({
      controller: DialogController,
      templateUrl: 'orderDialog.tmpl.html',
      parent: angular.element(document.body),
      targetEvent: ev,
      clickOutsideToClose: true,
      fullscreen: useFullScreen,
      locals:{dataToPass: product},
    })

在Controller中将其分配给scope

var mdDialogCtrl = function ($scope, dataToPass) { 
    $scope.product = dataToPass  
}

Codepen已更新