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

Posted 千叶祥龙

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ionic3 图片(轮播)预览 ionic-gallary-modal组件使用方法相关的知识,希望对你有一定的参考价值。

一、效果展示

使用方法:

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); }

 

以上是关于ionic3 图片(轮播)预览 ionic-gallary-modal组件使用方法的主要内容,如果未能解决你的问题,请参考以下文章

vue element 框架 自定义轮播图,点击上下翻图,并让图片居中

图片放大预览效果实现

解决ionic2/ionic3轮播图切换页面或者点击过后不自动轮图

ionic3-ng4学习见闻--(轮播图完美方案)

[JavaScript]记录完成轮播过程中的几个点

jQuery轻量级京东图片轮播代码等