Ionic2 可以左右滑動的Segment

Name Value
DIRECTION_NONE 1
DIRECTION_LEFT 2
DIRECTION_RIGHT 4
DIRECTION_UP 8
DIRECTION_DOWN 16
DIRECTION_HORIZONTAL 6
DIRECTION_VERTICAL 24
DIRECTION_ALL 30

ionic2為我們提供了一個非常好的組件叫segment,一般的使用是沒有問題的但是我們?nèi)绻胍osegment加上一個可以滑動的事件的時候就會遇到一些問題漾月,以下就是個人見解镜硕。
在ionic2中使用swipe的時候,沒有像1中那樣提供左滑還是右滑狸捅,而是使用的$event事件激涤。這樣就為我們處理左滑還是右滑帶來麻煩拟糕,但是如果我們使用過HammerJS 的話我們就知道HammerJS 中處理事件是通過event的direction來判斷是哪個方向。其對應(yīng)關(guān)系如下:

Name Value
DIRECTION_NONE 1
DIRECTION_LEFT 2
DIRECTION_RIGHT 4
DIRECTION_UP 8
DIRECTION_DOWN 16
DIRECTION_HORIZONTAL 6
DIRECTION_VERTICAL 24
DIRECTION_ALL 30

有了這個對應(yīng)關(guān)系我們就可以通過這個來進(jìn)行左右滑動的判斷了倦踢,以下是詳細(xì)代碼:

<ion-header>
  <ion-navbar no-border-bottom>
    <ion-title>
      Segments
    </ion-title>
  </ion-navbar>

  <ion-toolbar no-border-top>
    <ion-segment [(ngModel)]="segmentModel">
      <ion-segment-button value="segmentOne">
        segmentOne
      </ion-segment-button>
      <ion-segment-button value="segmentTwo">
        segmentTwo
      </ion-segment-button>
      <ion-segment-button value="segmentThree">
        segmentThree
      </ion-segment-button>
    </ion-segment>
  </ion-toolbar>
</ion-header>

<ion-content (swipe)="swipeEvent($event)">
  <div [ngSwitch]="segmentModel">
    <ion-list *ngSwitchCase="'segmentOne'">
      <ion-item>
        <ion-thumbnail item-left>
          ![](assets/icon/favicon.ico)
        </ion-thumbnail>
        <h2>segmentOne</h2>
      </ion-item>
    </ion-list>

    <ion-list *ngSwitchCase="'segmentTwo'">
      <ion-item>
        <ion-thumbnail item-left>
          ![](assets/icon/favicon.ico)
        </ion-thumbnail>
        <h2>segmentTwo</h2>
      </ion-item>
    </ion-list>

    <ion-list *ngSwitchCase="'segmentThree'">
      <ion-item>
        <ion-thumbnail item-left>
          ![](assets/icon/favicon.ico)
        </ion-thumbnail>
        <h2>segmentThree</h2>
      </ion-item>
    </ion-list>
  </div>
</ion-content>
import { Component } from '@angular/core';

import { NavController } from 'ionic-angular';

@Component({
  selector: 'page-home',
  templateUrl: 'home.html'
})
export class HomePage {
  segmentsArray = ['segmentOne','segmentTwo','segmentThree'];
  segmentModel: string = this.segmentsArray[0];
  constructor(public navCtrl: NavController) {
  }

swipeEvent(event){
  //向左滑
if(event.direction==2){
  if(this.segmentsArray.indexOf(this.segmentModel)<2){
this.segmentModel = this.segmentsArray[this.segmentsArray.indexOf(this.segmentModel)+1];
  }
}
//向右滑
if(event.direction==4){
  if(this.segmentsArray.indexOf(this.segmentModel)>0){
this.segmentModel = this.segmentsArray[this.segmentsArray.indexOf(this.segmentModel)-1];
  }
}
}
}

在ionic升級后因為考慮到ion-content涉及到滾動送滞,官方不建議在ion-content上面使用手勢事件。
所以我們需要在子節(jié)點上使用手勢事件硼一。例如:

<ion-content>
 <div (swipe)="swipeEvnet($event)">
</div>
</ion-content>

如果實在要在ion-content節(jié)點使用可以借助第三方手勢事件js來操作累澡,比如HammerJs。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末般贼,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌哼蛆,老刑警劉巖蕊梧,帶你破解...
    沈念sama閱讀 223,207評論 6 521
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異腮介,居然都是意外死亡肥矢,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,455評論 3 400
  • 文/潘曉璐 我一進(jìn)店門叠洗,熙熙樓的掌柜王于貴愁眉苦臉地迎上來甘改,“玉大人,你說我怎么就攤上這事灭抑∈” “怎么了?”我有些...
    開封第一講書人閱讀 170,031評論 0 366
  • 文/不壞的土叔 我叫張陵腾节,是天一觀的道長忘嫉。 經(jīng)常有香客問我,道長案腺,這世上最難降的妖魔是什么庆冕? 我笑而不...
    開封第一講書人閱讀 60,334評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮劈榨,結(jié)果婚禮上访递,老公的妹妹穿的比我還像新娘。我一直安慰自己同辣,他們只是感情好拷姿,可當(dāng)我...
    茶點故事閱讀 69,322評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著邑闺,像睡著了一般跌前。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上陡舅,一...
    開封第一講書人閱讀 52,895評論 1 314
  • 那天抵乓,我揣著相機與錄音,去河邊找鬼靶衍。 笑死灾炭,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的颅眶。 我是一名探鬼主播蜈出,決...
    沈念sama閱讀 41,300評論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼涛酗!你這毒婦竟也來了铡原?” 一聲冷哼從身側(cè)響起偷厦,我...
    開封第一講書人閱讀 40,264評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎燕刻,沒想到半個月后只泼,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,784評論 1 321
  • 正文 獨居荒郊野嶺守林人離奇死亡卵洗,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,870評論 3 343
  • 正文 我和宋清朗相戀三年请唱,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片过蹂。...
    茶點故事閱讀 40,989評論 1 354
  • 序言:一個原本活蹦亂跳的男人離奇死亡十绑,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出酷勺,到底是詐尸還是另有隱情本橙,我是刑警寧澤,帶...
    沈念sama閱讀 36,649評論 5 351
  • 正文 年R本政府宣布鸥印,位于F島的核電站勋功,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏库说。R本人自食惡果不足惜狂鞋,卻給世界環(huán)境...
    茶點故事閱讀 42,331評論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望潜的。 院中可真熱鬧骚揍,春花似錦、人聲如沸啰挪。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,814評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽亡呵。三九已至抽活,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間锰什,已是汗流浹背下硕。 一陣腳步聲響...
    開封第一講書人閱讀 33,940評論 1 275
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留汁胆,地道東北人梭姓。 一個月前我還...
    沈念sama閱讀 49,452評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像嫩码,于是被迫代替她去往敵國和親誉尖。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,995評論 2 361

推薦閱讀更多精彩內(nèi)容

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫铸题、插件铡恕、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,131評論 4 61
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,352評論 25 707
  • 017/04/02/ 周日 三月初六天氣:陰“育心麗謙·時間管理100天挑戰(zhàn)營”第77天 【起床】5:01 04...
    廈門悅玲媽賴淑瑾閱讀 242評論 0 0
  • 布鞋 一位作家朋友在微信上曬出她從某山區(qū)小城買的布鞋没咙,黑布鞋面猩谊,白絲布鞋邊千劈,熟悉的布鞋勾起了我小時的記憶祭刚。 小時候...
    老木閱讀 437評論 0 1
  • 第161章回顧 “這個…” 歐陽靖欲言又止,但當(dāng)他抬起頭來墙牌,發(fā)現(xiàn)所有人的眼睛都盯著他涡驮。 他便小心翼翼地說道:“其實...
    陳瀛Neptune閱讀 456評論 38 24