将图像传递给$mdDialog
Pass image to $mdDialog
我正在尝试将 Ng-repeat 传递给我的$mdDialog
但没有找到太多有关如何执行此操作的文档。我一直在参考这个堆栈,但我没有运气将图像传递给模态。
在控制台中,我收到一条错误消息:
TypeError: Cannot read property 'element' of undefined
控制台错误且未将映像传递到模态的原因是什么?
.HTML
<md-grid-tile
ng-repeat="image in imageBucket.images"
md-rowspan="{{image.row}}"
md-rowspan-gt-lg="{{image.rowgtlg}}"
md-colspan="{{image.col}}"
md-colspan-gt-lg="{{image.colgtlg}}"
class="white" >
<md-button
class=""
ng-click="showAdvanced($event, image)"
flex="100"
flex-gt-md="auto">
<img
aria-label="kpinsonstairs"
class="img-responsive md-whiteframe-6dp"
src="{{image.src}}"
alt="Gallery Picture">
<md-grid-tile-footer>
<h3>{{image.title}}</h3>
</md-grid-tile-footer>
</md-button>
</md-grid-tile>
爪哇语
(function () {
'use strict';
angular
.module('resonance.gallery.controllers')
.controller('GalleryOneController', GalleryOneController);
GalleryOneController.$inject = [
'$scope',
'$mdDialog',
'ImageService'
];
function GalleryOneController($scope, $mdDialog, ImageService) {
ImageService.success(function(data) {
$scope.imageBucket = data;
});
$scope.showAdvanced = function(ev, image) {
$mdDialog.show({
clickOutsideToClose:true,
controller: function($mdDialog) {
var vm = this;
var image = {};
var image = image;
$scope.hide = function() {
$mdDialog.hide();
}
$scope.cancel = function() {
$mdDialog.cancel();
};
},
controllerAs: 'modal',
templateUrl: 'client/gallery/views/dialog.ng.html',
parent: angular.element(document.body),
targetEvent: ev
});
};
}
})();
模态网页
<img
class="img-responsive md-whiteframe-6dp"
src="{{modal.image.src}}"
alt="Gallery Picture">
如果您查看 角度材料的文档 ,您将看到有一个选项可以使用 locals
关键字将内容解析为模态的控制器。 所以你必须将函数重写为:
$scope.showAdvanced = function(ev, image) {
$mdDialog.show({
clickOutsideToClose: true,
controller: function($mdDialog, image) {
var vm = this;
vm.image = image;
$scope.hide = function() {
$mdDialog.hide();
};
$scope.cancel = function() {
$mdDialog.cancel();
};
},
controllerAs: 'modal',
templateUrl: 'client/gallery/views/dialog.ng.html',
parent: angular.element(document.body),
targetEvent: ev,
locals: {
image: image
}
});
};
那应该有效.
相关文章:
- 如何使用url加载程序在webpack中导入多个图像
- nodejs-expressjs上传图像并显示它们
- 使用JSP从服务器检索和显示图像
- 角度:在ng重复上切换图像
- 画廊图像未显示
- Phonegap-(安卓/iphone)多个图像的图像库出现问题
- Javascript排序的图像弹出窗口..可以't单独弹出
- 画布数据到图像
- Windows8应用程序(html&Javascript):从图片库(除了文件选择器)显示图像的另一种方式
- 使图像在单击时展开到不大于浏览器
- Html页面上的多个Base64图像和平滑加载
- UIAutomation放大图像
- 使用javascript在Flash中加载外部图像
- 可以在这里为背景图像设置滤镜吗
- 当图像转换为本地存储的DataURL时,EXIF被删除
- 使用 js 将背景图像设置为 HTML
- Javascript将图像src更改为淡入淡出
- 无法在本地计算机中将画布另存为图像
- 压缩phonegap中ios的图像插件
- 将图像传递给$mdDialog