Ionic 3 自定義指令實(shí)現(xiàn) Elastic Header

實(shí)現(xiàn)效果
新建項(xiàng)目
$ ionic start myapp blank
$ cd myapp
生成自定義指令
$ ionic g directive elasticHeader
導(dǎo)入自定義指令

src/app/app.module.ts 中導(dǎo)入 ElasticHeaderDirective:

import { ElasticHeaderDirective } from '../directives/elastic-header/elastic-header';

@NgModule({
  declarations: [
    MyApp,
    HomePage,
    ElasticHeaderDirective
  ],
  ...
})
export class AppModule {}
實(shí)現(xiàn)自定義指令的功能

修改 elastic-header.ts

import { Directive, ElementRef, Input, Renderer } from '@angular/core';
import { Content } from "ionic-angular";

@Directive({
  selector: '[elastic-header]',
  host: {
    '(ionScroll)': 'onContentScroll($event)'
  }
})
export class ElasticHeaderDirective {
  @Input('elastic-header') header: HTMLElement;

  headerHeight: number;
  scrollContent: Content;

  constructor(public element: ElementRef, public renderer: Renderer) { }

  ngOnInit() {
    this.headerHeight = this.header.clientHeight;
    this.renderer.setElementStyle(this.header, 'webkitTransition', 'top 700ms');
    this.scrollContent = this.element.nativeElement.getElementsByClassName('scroll-content')[0];
    this.renderer.setElementStyle(this.scrollContent, 'webkitTransition', 'margin-top 700ms');
  }

  onContentScroll(event) {
    if (event.scrollTop > this.headerHeight) {
      this.renderer.setElementStyle(this.header, 'top', `-${this.headerHeight}px`);
      this.renderer.setElementStyle(this.scrollContent, 'margin-top', '0px');
    } else {
      this.renderer.setElementStyle(this.header, 'top', '0px');
      this.renderer.setElementStyle(this.scrollContent, 'margin-top', `${this.headerHeight}px`);
    }
  }

}
使用自定義指令

修改 home.html

<ion-header #header>
  <ion-navbar>
    <ion-title>
      納蘭性德簡介
    </ion-title>
  </ion-navbar>
</ion-header>

<ion-content padding [elastic-header]="header">
  納蘭性德(1655-1685)原名成德,字容若,號(hào)楞伽山人,也有人稱納蘭容若,滿洲正黃旗,是清代最為著名的詞人之一,為武英殿大學(xué)士明珠長子。他的詩詞不但在清代詞壇享有很高的聲譽(yù),在整個(gè)中國文學(xué)史上,也以“納蘭詞”在詞壇占有光采奪目的一席之地。性德少聰穎,讀書過目即能成誦,繼承滿人習(xí)武傳統(tǒng),精于騎射。在書法、繪畫、音樂方面均有一定造詣??滴跏迥辏ㄟM(jìn)士。授三等侍衛(wèi),尋晉一等,武官正三品。
      
  <p>妻兩廣總督盧興祖之女盧氏,賜淑人,誥贈(zèng)一品夫人,婚后三年,妻子亡故,吳江葉元禮親為之撰墓志銘,繼娶官氏,賜淑人。妾顏氏,后納江南沈宛,著有《選夢(mèng)詞》“風(fēng)韻不減夫婿”,亡佚。納蘭性德死時(shí),年僅三十一歲,“文人祚薄,哀動(dòng)天地”葬于京西皂莢屯。有三子四女。一女嫁與驍將年羹堯。</p>
      
  <p>納蘭性德于順治十一年(公元1655年1月19日)生于北京,其父是康熙時(shí)期權(quán)傾朝野的“相國”明珠,母親愛新覺羅氏為英親王阿濟(jì)格第五女,一品誥命夫人。而其家族納喇氏隸屬正黃旗,為清初滿族最顯赫的八大姓之一,即后世所稱的“葉赫那拉氏”。納蘭性德的曾祖父名金臺(tái)吉,為葉赫部貝勒,其妹孟古姐姐,于明萬歷十六年嫁努爾哈赤為妃,生皇子皇太極。其后納蘭家族與皇室的姻戚關(guān)系也非常緊密。因而可以說,他的一生注定是富貴榮華,繁花著錦的。也許是造化弄人,納蘭性德偏偏是“雖履盛處豐,抑然不自多。于世無所芬華,若戚戚于富貴而以貧賤為可安者。身在高門廣廈,常有山澤魚鳥之思”。</p>
      
  <p>納蘭性德自幼天資聰穎,讀書過目不忘,數(shù)歲時(shí)即習(xí)騎射,17歲入國子監(jiān)讀書,為國子監(jiān)祭酒徐文元賞識(shí),推薦給其兄內(nèi)閣學(xué)士,禮部侍郎徐乾學(xué)。納蘭性德18歲參加順天府鄉(xiāng)試,考中舉人,19歲 準(zhǔn)備參加會(huì)試,但因病沒能參加殿試。而后數(shù)年中他更發(fā)奮研讀,并拜徐乾學(xué)為師。在名師的指導(dǎo)下,他在兩年中,主持編纂了一部1792卷編的儒學(xué)匯編—《通志堂經(jīng)解》,受到皇上的賞識(shí),也為今后發(fā)展打下了基礎(chǔ)。他又把熟讀經(jīng)史過程中的見聞和學(xué)友傳述記錄整理成文,用三四年時(shí)間,編成四卷集《淥水亭雜識(shí)》,其中包含歷史、地理、天文、歷算、佛學(xué)、音樂、文學(xué)、考證等方面知識(shí)。表現(xiàn)出他相當(dāng)廣博的學(xué)識(shí)基礎(chǔ)和各方面的意趣愛好。1674年,與妻子盧氏結(jié)婚,康熙十六年盧氏因難產(chǎn)去世,納蘭的悼亡之音破空而起,成為《飲水詞》中撥地而起的高峰。后人不能超越,連他自己也無法超越。北宋以來,一人而已?!倍砬逶~人況周頤也在《蕙風(fēng)詞話》中譽(yù)其為“國初第一詞手”。 [3]  王國維在《人間詞話》中評(píng)價(jià)納蘭“以自然之眼觀物,以自然之舌言情。此由初入中原,未染漢人風(fēng)氣,故能真切如此?!?lt;/p>
</ion-content>
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,680評(píng)論 19 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,282評(píng)論 25 708
  • 6月21日 今天老丈人和丈母娘吵架,我去勸架。就拉著丈母娘到一邊偷偷的說了一句話:他(我老丈人)也是要面子的,你就...
    成功的種子閱讀 207評(píng)論 0 0
  • 煙囪里吹出的不是煙 是云朵 大樹落下的不是葉子 是翅膀 你聽啊他們用力笑我 最赤誠的魂魄 我暗自笑著清醒的快樂 然...
    落入塵閱讀 331評(píng)論 0 12
  • 苦于心聲、疼于執(zhí)迷
    故夢(mèng)j閱讀 264評(píng)論 0 0

友情鏈接更多精彩內(nèi)容