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

原文地址:https://www.cnblogs.com/hsl-shiliang/p/8707545.html

时间: 2024-08-04 00:42:40

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

基于ionic框架封装一个图片轮播指令的几点

在这里我想在项目中封装一个图片轮播的指令 (本项目使用的是ionic框架) 1)定义指令 define(['app'],function(myapp){ myapp.directive('myslidebanner',['$state',function(s){ return{ templateUrl:'directives/slide-banner/slide-banner.html', scope:{ banimg:'=',//数据的来源 }, link:function(s,el,atr)

一、ionic 图片轮播问题

使用ion-slide可以实现图片轮播,但是如果在html中仅仅增加ion-slide是远远不够的,会出现两个问题:图片加载不出来和图片轮播至最后一个不轮播的问题 1.如何解决图片加载不出来的问题 ionic有一个很奇怪的现象:在使用本地json来获取图片的时候,图片时可以加载出来的,但是调用接口后图片的加载就有问题,有时候可以加载出来有时候加载不出来.解决这个问题的方法: 在controller中注入:$ionicSlideBoxDelegate,然后在相应的获取banner图片的接口方法处增

ionic 图片轮播问题

1.使用ion-slide可以实现图片轮播,但是如果在html中仅仅增加ion-slide是远远不够的,会出现两个问题: (注:使用的是angularjs.首先需要在,js文件中注入:$ionicSlideBoxDelegate) 一.有时候会出现图片无法加载出来.解决办法是: 在相应的controller文件增加 $ionicSlideBoxDelegate.update(); 二.轮播至最后一个不轮播的问题,解决的办法是: 在相应的controller文件增加 $ionicSlideBoxD

ionic 图片轮播ion-slide-box问题

1.使用ion-slide可以实现图片轮播,但是如果在html中仅仅增加ion-slide是远远不够的,会出现两个问题: (注:使用的是angularjs.首先需要在,js文件中注入:$ionicSlideBoxDelegate) 一.有时候会出现图片无法加载出来.解决办法是: 在相应的controller文件增加 $ionicSlideBoxDelegate.update(); 二.轮播至最后一个不轮播的问题,解决的办法是: 在相应的controller文件增加 $ionicSlideBoxD

UISCrollView —— 图片轮播器实现(三)——(第二讲)

1. 所用知识点 1> UIScrollView的基本属性,和UIPageControl设置,还有就是要用到NSTimer来定时实现UIScrollView的图片轮播 2> NSTimer简单介绍: 2.1  NSTimer叫做“定时器”,它的作用如下 * 在指定的时间执行指定的任务 * 每隔一段时间执行指定的任务 2.2  NSTimer简单使用: 1> 调用下面的方法就会开启一个定时任务 + (NSTimer *)scheduledTimerWithTimeInterval:(NST

Javascript和jQuery WordPress 图片轮播插件, 内容滚动插件,前后切换幻灯片形式显示

用于在有限的网页空间内展示一组产品图片或者照片,同时还有非常吸引人的动画效果.本文向大家推荐12款实用的 jQuery 图片轮播效果插件,帮助你在你的项目中加入一些效果精美的图片轮播效果,希望这些插件能够帮助到你.Nivo Slider首先推荐的这款插件号称世界上最棒的图片轮播插件,有独立的 jQuery 插件和 WordPress 插件两个版本.目前下载量已经突破 1,800,000 次!jQuery 独立版本的插件主要有如下特色:? 16个独特的过渡效果? 简洁和有效的标记? 加载参数设置?

Flexslider图片轮播、文字图片相结合滑动切换效果

Flexslider是一款基于的jQuery内容滚动插件.它能让你轻松的创建内容滚动的效果,具有非常高的可定制性.开发者可以使用Flexslider轻松创建各种图片轮播效果.焦点图效果.图文混排滚动效果. Flexslider具有以下特性: 支持滑动和淡入淡出效果. 支持水平.垂直方向滑动. 支持键盘方向键控制. 支持触控滑动. 支持图文混排,支持各种html元素. 自适应屏幕尺寸. 可控制滑动单元个数. 更多选项设置和回调函数. HTML 首先在页面head部位载入jquery库文件和Flex

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

http://sc.chinaz.com/jiaoben/jiaodiantu.html jQuery轻量级京东图片轮播代码 查看全图点击预览 顶(17)踩(4)报错评论(0)下载地址 更新时间:2016-07-11 09:18 类别:脚本 0 更多相关 jQuery缩略图数字按钮图片切换 所属专题:焦点图代码 脚本简介 jQuery轻量级京东图片轮播代码是一款带左右按钮控制,带缩略图的图片轮播代码.

基于jQuery带进度条全屏图片轮播代码

基于jQuery带进度条全屏图片轮播代码.这是一款基于jQuery实现的oppo手机官网首页带进度条全屏图片轮播特效.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div class="pic"> <ul> <li style="background: url(images/bg1.jpg) center;"> <img src="images/con1.png"> <

css3实践之摩天轮式图片轮播+3D正方体+3D标签云(perspective、transform-style、perspective-origin)

本文主要通过摩天轮式图片轮播的例子来讲解与css3 3D有关的一些属性. demo预览: 摩天轮式图片轮播(貌似没兼容360 最好用chrome) 3D正方体(chrome only) 3D标签云(css3版 chrome only) 3D标签云(js版 chrome only) 前文回顾 在前面的文章css3实践之图片轮播(Transform,Transition和Animation)中我们简单地了解了css3旗下的transform.transition以及animation.回顾一下,tr