一、效果展示

使用方法:

1、npm安装ionic-gallary-modal扩展模块

npm install ionic-gallery-modal --save

2、在app.module.ts根模块中导入图片预览模块 ionic-gallary-modal 和 浏览器手势事件模块 HAMMER_GESTURE_CONFIG

import * as ionicGalleryModal from 'ionic-gallery-modal';
import { HAMMER_GESTURE_CONFIG } from '@angular/platform-browser';
@NgModule({    declarations: [        MyApp    ],    imports: [     ......        BrowserModule,        ionicGalleryModal.GalleryModalModule,        .....    ],    bootstrap: [IonicApp],    entryComponents: [        MyApp    ],    providers: [        ......        {            provide: HAMMER_GESTURE_CONFIG,            useClass: ionicGalleryModal.GalleryModalHammerConfig,        }    ]})

3、在实例页面(组件)中配置封装调用方法:

  根据具体需求可将下面代码封装在Common.ts公共服务库中,以便随时调用即可

import { ModalController } from 'ionic-angular';
import { GalleryModal } from 'ionic-gallery-modal';
/** * (单图)多图预览model组件封装 * @param photoData 输入图片地址 * @param {string} key 对象图片url对应的属性名程 */
public photoViews(photoData,key = ''){    let photos:Array<object> = [];    let obj = {};    // 单张图片时(photoData为一个图片地址字符串且不为空)    if(photoData && typeof(photoData) == "string"){        obj = {};        obj['url'] = photoData;        photos.push(obj);    }    console.log(photoData)

    // 多张图片时(photoData为图片地址字符串数组)    if(photoData instanceof Array){        console.log(photoData)        photoData.forEach(function(item,index,array){            obj = {};            // photoData 为字符串数组时(即key不存在时)            if(key == '' && item){                obj['url'] = item;                photos.push(obj);            }            // photoData 为对象数组时(即key存在时)            console.log(item[key])            if(key != '' && item[key]){                obj['url'] = item[key];                photos.push(obj);            }        });    }    let modal = this.modalCtrl.create(GalleryModal, {        photos: photos,        initialSlide: 0    });    modal.present();}

4、实际调用:

import {CommonProvider} from "../../providers/common";
constructor(public navCtrl: NavController,public Common:CommonProvider) {
}
/** * 图片预览调用 * @param photoData 输入预览图片数据 * @param key   图片url对应的属性名 */
public viewPhoto(photoData,key){ this.Common.photoViews(photoData,key); }

转载于:https://www.cnblogs.com/hsl-shiliang/p/8707545.html

ionic3 图片(轮播)预览 ionic-gallary-modal组件使用方法相关推荐

  1. 微信小程序图片轮播+预览效果实现

    实现思路 功能其实很简单,只需用到官方提供的swiper组件+wx.previewImage函数,再利用data-组件绑定当前的url即可轻松实现. 1.微信小程序swiper组件 2.微信小程序预览 ...

  2. 图片轮播的实现(详解两种方法)

    今天带来的是前端里图片轮播的实现,可以说,这两种方法都很简单,尤其第一种,只要是有点基础的应该都可以看懂,这也是小编花费了一定时间想到的代码较少的方式.(图片我放在文末了) 当然也有更复杂的图片,也会 ...

  3. php 点击选择图片上传,php上传多张图片时,选择图片后即可预览的问题

    这几天一直在解决一个问题,上传图片时选择成功后就能预览. 需求:在点击上传图标的时候会在前面的input框中显示出文件名,然后点击后面的查看按钮就可以预览选择的这张图片了,要求不能刷新页面 1.一开始 ...

  4. 关于php上传多张图片时,选择图片后就可以预览的问题

    这几天一直在解决一个问题,上传图片时选择成功后就能预览. 需求:在点击上传图标的时候会在前面的input框中显示出文件名,然后点击后面的查看按钮就可以预览选择的这张图片了,要求不能刷新页面 1.一开始 ...

  5. html原生js实现图片轮播,如何用原生JS实现图片轮播

    图片轮播大多应用在商品展示中. 实现方法:主要通过原生javascript编写. 实现原理: 上图中看到中间的图片就是要展示的图片,只要将所有图片并排放到一个div中然后再放到展示固定大少的窗口当中, ...

  6. uniapp实现类似淘宝(京东)视频图片轮播和预览,并实现联动的效果(更新)

    更新:这是一年前写的练手的前端项目,没想到这么多的评论和私聊,有好多没有写清楚的地方重新再完善一下.目前效果只在h5上进行测试成功,其他地方未测试,请见谅. 可以发现uniapp自带的图片预览不能完全 ...

  7. 网站项目必备——12款白富美型 jQuery 图片轮播插件

    转自:http://www.cnblogs.com/lhb25/archive/2013/01/06/jquery-image-carousel-effect.html 图片轮播是网站中的常用功能,用 ...

  8. android首页图片轮播效果,Android_Android自动播放Banner图片轮播效果,先看一下效果图支持本地图 - phpStudy...

    Android自动播放Banner图片轮播效果 先看一下效果图 支持本地图片以及网络图片or本地网络混合. 使用方式: android:id="@+id/banner" andro ...

  9. 3d饼图 vue_这是我见过最优雅的Vue图片轮播插件——Vue-Awesome-Swiper

    介绍 在Web网页开发中,我们经常需要用到图片轮播,在以往传统的开发方式中有很多基于jquery的插件可供使用,但是随着目前各类前端框架层出不穷的现状,在某些方面特别是针对特定的场景,还是有不少地方不 ...

  10. 基于jQuery可悬停控制图片轮播代码

    基于jQuery可悬停控制图片轮播代码.这是一款可悬停切换全屏轮播jQuery幻灯片.效果图如下: 在线预览    源码下载 实现的代码: <!-- 轮播广告 --><div id= ...

最新文章

  1. ubuntu9.10硬盘安装记录二
  2. 安川机器人焊枪切换设定方法_安川机器人参数更改方法
  3. Android之解决打补丁包后移动端为什么不升级,升级之后出现“应用未安装“,以及更新成功之后反复更新问题
  4. java之InetAddress类和InetSocketAddress的使用
  5. oracle imp导入库到指定表空间
  6. 利用反射判断初始化后的对象所有属性是否为空判断对象指定属性是否为空
  7. leetcode python3 简单题168. Excel Sheet Column Title
  8. bzoj 2435: [Noi2011]道路修建(DFS)
  9. mysql的逻辑备份和恢复
  10. 群晖迅雷套件1.7.2(支持DSM6.x和DSM7. X系统)
  11. git报错:remote: warning: Large files detected. / 移动文件夹
  12. [经验技巧] 小米线刷详细图文教程(具体步骤)
  13. p2psear正在连接服务器,P2PSearcher无法连接到网络,也无法连接到服务器
  14. 图神经网络笔记(二)——卷积图神经网络概述
  15. 【概率题汇总】互联网公司概率面试题整理
  16. CART分类回归树算法
  17. 安装navicat missing required library xxx.dll(libcc.dll libdd.dll)亲测有效
  18. 图像梯度特征的常用算子:Sobel、Prewitt、Roberts
  19. char to hex
  20. [转载]你可能会读错的字大集合_拔剑-浆糊的传说_新浪博客

热门文章

  1. Java依旧排名第一,然而变化几何?
  2. Dev Express 安装
  3. 电商平台实战经验:电商中的Hadoop生态系统应用
  4. Xcode 模拟器复制解决方案
  5. eclipse 4.3 汉化
  6. autorun.inf sxs.exe病毒手动解决方法
  7. pyqt5-两个窗口之间相互显示隐藏
  8. laravel 5.4 引入自定义类
  9. VMware下Ubuntu 18.04关机后无法上网
  10. C语言精要总结-内存地址对齐与struct大小判断篇