angularjs – 无法将范围传递给角度对话框

我正在使用Angular显示图像列表.

单击图像时,我想显示带有图像和更多信息的对话框.

因此,当打开模态时,我需要传递范围,或者至少是图像.

注意:我使用ngDialog作为弹出窗口.

application.controller('ImageController',function ImageController($scope,ImageService,ngDialog) {

    $scope.model = {
      images: [],loading: false
    }

    var load = function () {
      $scope.model.loading = true;
      ImageService.GetList($scope.model.pages.instagram)
        .success(function (data,status,headers,config) {
          $scope.model.images = $scope.model.images.concat(data.Images)
        })
        .error(function (data,config) { })
        .finally(function () {
          $scope.model.loading = false
        });;
    }

    $scope.open = function (image) {
      ngDialog.open({
        template: '<p>my template {{image.Key}} </p>',plain: true,scope: $scope
      });
    };


    load();

  });

  <div data-ng-app="Application" data-ng-controller="ImageController">
    <div data-ng-repeat='image in model.images'>
    <img src="{{image.Url}}" alt="" data-ng-click="open(image)"/>
  </div>

显示图像并在点击时打开对话框…

但是,不知何故,我无法访问模板内的范围.

以下作品:

$scope.open = function (image) {
      ngDialog.open({
        template: '<p>my template' + image.Key + '</p>',plain: true
      });
    };

但这不起作用:

$scope.open = function (image) {
      ngDialog.open({
        template: '<p>my template {{image.Key}} </p>',scope: $scope
      });
    };

有谁知道为什么?

我无法弄清楚这一点.

将您的open方法更改为以下..
$scope.open = function (image) {
      var newScope = $scope.$new();
      newScope.image = image;
      ngDialog.open({
        template: '<p>my template {{image.Key}} </p>',scope: newScope
      });
    };

这应该工作……

相关文章

ANGULAR.JS:NG-SELECTANDNG-OPTIONSPS:其实看英文文档比看中...
AngularJS中使用Chart.js制折线图与饼图实例  Chart.js 是...
IE浏览器兼容性后续前言 继续尝试解决IE浏览器兼容性问题,...
Angular实现下拉菜单多选写这篇文章时,引用文章地址如下:h...
在AngularJS应用中集成科大讯飞语音输入功能前言 根据项目...
Angular数据更新不及时问题探讨前言 在修复控制角标正确变...