使用angular封裝 swiper

angular4.0發(fā)布,下面我嘗試著用angular4.0對(duì)swiper常用的滑動(dòng)組件進(jìn)行封裝


碰到的問題: vue中有$nexttick函數(shù)監(jiān)控dom渲染完畢的鉤子,找了半天, angular4.0居然沒有.后面發(fā)現(xiàn)我的思維被固定了, angular的核心是去 dom操作!下面看下是如何實(shí)現(xiàn)的.(不過個(gè)人感覺,這種鉤子加進(jìn)去還是比較方便的,vue確實(shí)好用,單自由度太高,有好處也有壞處)

我第一次是這么想的,直接封裝一段html代碼,然后調(diào)用new Swiper()方法初始化,下面是html代碼

ts代碼,延遲300毫秒執(zhí)行初始化-- 可用,沒發(fā)現(xiàn)大問題,但是當(dāng)數(shù)據(jù)更新時(shí),問題就出來了,比如多加一個(gè)滑動(dòng)項(xiàng)目

接下來繼續(xù)優(yōu)化,如何動(dòng)態(tài)的監(jiān)控slide項(xiàng)目,并發(fā)現(xiàn)數(shù)據(jù)更改時(shí)自動(dòng)刷新呢?

經(jīng)過苦思冥想,終于想明白了,需要將swiper-slide也就是滑動(dòng)塊做一下封裝,然后傳遞是否最后一個(gè)元素,如下圖

[last="isLast",傳入后再組件內(nèi)部進(jìn)行接收,接收完畢來判斷是否最后一個(gè)元素,如果是最后一個(gè),則執(zhí)行swiper.update()方法

這樣每次數(shù)據(jù)變更時(shí),都會(huì)自動(dòng)更新數(shù)據(jù),媽媽在用不用擔(dān)心忘記更新swiper了,用的時(shí)候也可以放心使用,數(shù)個(gè)組件組成一個(gè)功能完整的大組件,使用起來很方便!


封裝提煉--當(dāng)有判斷dom 渲染完畢場(chǎng)景下使用

import{Component,EventEmitter,Input,OnInit,Output}from'@angular/core';

@Component({

selector:'[meepo-last]'

})

export classIndexFooterMenuItemComponentimplementsOnInit {

@Input() last: boolean;

@Output() next:EventEmitter = newEventEmitter()

constructor() {}

ngOnInit() {

if(this.last){

this.next.emit('last')

}

}

}


使用 angular心得: 如果你要實(shí)現(xiàn)某個(gè)功能,必須將這個(gè)功能的最小單元封裝成 angular組件,從這個(gè)例子中可以看出,組件是 angular的核心功能!

項(xiàng)目地址: https://github.com/meepobrother/angular-swiper

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末代箭,一起剝皮案震驚了整個(gè)濱河市沃暗,隨后出現(xiàn)的幾起案子溃论,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,123評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)脖岛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來颊亮,“玉大人柴梆,你說我怎么就攤上這事≈栈螅” “怎么了绍在?”我有些...
    開封第一講書人閱讀 156,723評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)雹有。 經(jīng)常有香客問我揣苏,道長(zhǎng),這世上最難降的妖魔是什么件舵? 我笑而不...
    開封第一講書人閱讀 56,357評(píng)論 1 283
  • 正文 為了忘掉前任卸察,我火速辦了婚禮,結(jié)果婚禮上铅祸,老公的妹妹穿的比我還像新娘坑质。我一直安慰自己,他們只是感情好临梗,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,412評(píng)論 5 384
  • 文/花漫 我一把揭開白布涡扼。 她就那樣靜靜地躺著,像睡著了一般盟庞。 火紅的嫁衣襯著肌膚如雪吃沪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,760評(píng)論 1 289
  • 那天什猖,我揣著相機(jī)與錄音票彪,去河邊找鬼。 笑死不狮,一個(gè)胖子當(dāng)著我的面吹牛降铸,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播摇零,決...
    沈念sama閱讀 38,904評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼推掸,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起谅畅,我...
    開封第一講書人閱讀 37,672評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤登渣,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后毡泻,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體胜茧,經(jīng)...
    沈念sama閱讀 44,118評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,456評(píng)論 2 325
  • 正文 我和宋清朗相戀三年牙捉,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片敬飒。...
    茶點(diǎn)故事閱讀 38,599評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡邪铲,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出无拗,到底是詐尸還是另有隱情带到,我是刑警寧澤,帶...
    沈念sama閱讀 34,264評(píng)論 4 328
  • 正文 年R本政府宣布英染,位于F島的核電站揽惹,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏四康。R本人自食惡果不足惜搪搏,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,857評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望闪金。 院中可真熱鬧疯溺,春花似錦、人聲如沸哎垦。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽漏设。三九已至墨闲,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間郑口,已是汗流浹背鸳碧。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評(píng)論 1 264
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留犬性,地道東北人杆兵。 一個(gè)月前我還...
    沈念sama閱讀 46,286評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像仔夺,于是被迫代替她去往敵國(guó)和親琐脏。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,465評(píng)論 2 348

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

  • Angular組件 一:組件基礎(chǔ) 1:什么是組件? 組件(Component)是構(gòu)成Angular應(yīng)用的基礎(chǔ)和核心...
    真的稻城閱讀 4,302評(píng)論 3 6
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,744評(píng)論 25 707
  • 組件基礎(chǔ) 組件用來包裝特定的功能日裙,應(yīng)用程序的有序運(yùn)行依賴于組件之間的協(xié)同工作吹艇。組件是angular應(yīng)用的最小邏輯單...
    oWSQo閱讀 1,367評(píng)論 0 0
  • 執(zhí)行之所以重要!不是因?yàn)榱私饬藞?zhí)行的理念昂拂,而是因?yàn)榛貧w了管理的本質(zhì)受神! 中國(guó)不缺乏戰(zhàn)略家,缺乏不折不扣的執(zhí)行者… 執(zhí)...
    智愚大叔閱讀 1,375評(píng)論 0 2
  • 最近很喜歡唱歌,唱以前喜歡的歌联四,唱?jiǎng)倓偘l(fā)現(xiàn)有同感的歌撑碴。我把唱歌當(dāng)做釋放壓力釋放情緒的一種方式。 在歌的開頭朝墩,用平穩(wěn)...
    藍(lán)藍(lán)水云_69971閱讀 135評(píng)論 0 1