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

How to pass current object inside ng-repeat to $mdDialog?

对话框应包含当前所选产品的详细信息。如何让它发挥作用?

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

CodePen

你需要通过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},
    })

在控制器中将其分配给 scope

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

Codepen 已更新