最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

angular組件繼承的實(shí)現(xiàn)方法第2/2頁(yè)

 更新時(shí)間:2018年02月26日 14:27:28   作者:阿踏  
本篇文章主要介紹了angular組件繼承的實(shí)現(xiàn)方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
="currentPage" [pageCount]="totalPage"></simple-pagination> ` }) export class AppComponent { currentPage: number = 2; totalPage: number = 10; }

我們發(fā)現(xiàn) UI 界面風(fēng)格已經(jīng)完全不一樣了,但仔細(xì)想一下組件分頁(yè)的控制邏輯仍可以繼續(xù)使用。Angular 團(tuán)隊(duì)也考慮到了這種場(chǎng)景,因此為我們引入組件繼承的特性,這對(duì)我們開發(fā)者來說,可以大大地提高組件的復(fù)用性。接下來我們來一步步實(shí)現(xiàn)新的分頁(yè)組件,首先先更新 UI 界面,具體代碼如下:

exe-pagination.component.ts

import { Component } from '@angular/core'; import { SimplePaginationComponent } from './simple-pagination.component'; @Component({
  selector: 'exe-pagination',
  template: `
  <a (click)="previousPage()" [class.disabled]="!hasPrevious()" 
   href="javascript:void(0)" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >
   ««
  </a> 
  <span>{{ page }} / {{ pageCount }}</span>
  <a (click)="nextPage()" [class.disabled]="!hasNext()"
   href="javascript:void(0)" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >
   »»
  </a>
 ` }) export class ExePaginationComponent extends SimplePaginationComponent {
  
}

上面代碼中,有幾個(gè)注意點(diǎn):

首先我們先導(dǎo)入已開發(fā)完的 SimplePaginationComponent 組件類

然后讓我們新定義的 ExePaginationComponent 類繼承于 SimplePaginationComponent 類

接著我們更新頁(yè)面的視圖模板,把按鈕替換為 << 和 >>

我們看到更新的視圖模板,我們?nèi)匀豢梢允褂没?(SimplePaginationComponent) 中定義的所有輸入、輸出屬性

再繼續(xù)開發(fā) ExePaginationComponent 組件前,我們先來更新一下 SimplePaginationComponent 組件:

@Component({
 selector: 'simple-pagination',
 template: `
  <button (click)="previousPage()" [disabled]="!hasPrevious()">{{ previousText }}</button> 
  <button (click)="nextPage()" [disabled]="!hasNext()">{{ nextText }}</button>

  <p>page {{ page }} of {{ pageCount }}</p>
 ` }) export class SimplePaginationComponent {
 ... @Input()
 previousText = 'Previous'; @Input()
 nextText = 'Next';
 ...
}

注意:

當(dāng)用戶沒有設(shè)置 previousText 輸入屬性值時(shí),我們使用的默認(rèn)值是 'Previous'

當(dāng)用戶沒有設(shè)置 nextText 輸入屬性值時(shí),我們使用的默認(rèn)值是 'Next'

對(duì)于 ExePaginationComponent 組件,我們也希望讓用戶自定義 previousText 和 nextText 的值,但它們對(duì)應(yīng)的默認(rèn)值是:'<<' 和 '>>',這時(shí)我們可以覆蓋 SimplePaginationComponent 組件的輸入屬性,具體示例如下:

import { Component , Input, Output} from '@angular/core'; import { SimplePaginationComponent } from './simple-pagination.component'; @Component({
  selector: 'exe-pagination',
  template: `
  <a (click)="previousPage()" [class.disabled]="!hasPrevious()" 
   href="javascript:void(0)" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >
   ««
  </a> 
  <span>{{ page }} / {{ pageCount }}</span>
  <a (click)="nextPage()" [class.disabled]="!hasNext()"
   href="javascript:void(0)" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >
   »»
  </a>
 ` }) export class ExePaginationComponent extends SimplePaginationComponent { @Input() previousText = '<<'; // override default text @Input() nextText = '>>'; // override default text }

類的概念

雖然 JavaScript 中有類的概念,但是可能大多數(shù) JavaScript 程序員并不是非常熟悉類,這里對(duì)類相關(guān)的概念做一個(gè)簡(jiǎn)單的介紹。

類 (Class):一種面向?qū)ο笥?jì)算機(jī)編程語(yǔ)言的構(gòu)造,是創(chuàng)建對(duì)象的藍(lán)圖,描述了所創(chuàng)建的對(duì)象共同的屬性和方法。

對(duì)象 (Object):類的實(shí)例,通過 new 創(chuàng)建

面向?qū)ο?(OOP) 的三大特性:封裝、繼承、多態(tài)

封裝 (Encapsulation):將對(duì)數(shù)據(jù)的操作細(xì)節(jié)隱藏起來,只暴露對(duì)外的接口。外界調(diào)用端不需要知道細(xì)節(jié),就能通過對(duì)外提供的接口來訪問該對(duì)象,同時(shí)也保證了外界無法任意更改對(duì)象內(nèi)部的數(shù)據(jù)

繼承 (Inheritance):子類繼承父類,子類除了擁有父類的所有特性外,還可以擴(kuò)展自有的功能特性

多態(tài) (Polymorphism):由繼承而產(chǎn)生了相關(guān)的不同的類,對(duì)同一個(gè)方法可以有不同的響應(yīng)。比如 Cat 和 Dog 都繼承自 Animal,但是分別實(shí)現(xiàn)了自己的 eat() 方法。此時(shí)針對(duì)某一個(gè)實(shí)例,我們無需了解它是 Cat 還是 Dog,就可以直接調(diào)用 eat() 方法,程序會(huì)自動(dòng)判斷出來應(yīng)該如何執(zhí)行 eat()

存取器(getter & setter):用于屬性的讀取和賦值

修飾符(Modifiers):修飾符是一些關(guān)鍵字,用于限定成員或類型的性質(zhì)。比如 public 表示公有屬性或方法

抽象類(Abstract Class):抽象類是供其他類繼承的基類,抽象類不允許被實(shí)例化。抽象類中的抽象方法必須在子類中被實(shí)現(xiàn)

接口(Interfaces):不同類之間公有的屬性或方法,可以抽象成一個(gè)接口。接口可以被類實(shí)現(xiàn)(implements)。一個(gè)類只能繼承自另一個(gè)類,但是可以實(shí)現(xiàn)多個(gè)接口。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Angular 4 指令快速入門教程

    Angular 4 指令快速入門教程

    本篇文章主要介紹了Angular 4 指令快速入門教程,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-06-06
  • 如何處理Angular?錯(cuò)誤消息ERROR?Error?NullInjectorError?No?provider?for?XX

    如何處理Angular?錯(cuò)誤消息ERROR?Error?NullInjectorError?No?provid

    這篇文章主要介紹了如何處理Angular?錯(cuò)誤消息ERROR?Error?NullInjectorError?No?provider?for?XX
    2023-07-07
  • angular2系列之路由轉(zhuǎn)場(chǎng)動(dòng)畫的示例代碼

    angular2系列之路由轉(zhuǎn)場(chǎng)動(dòng)畫的示例代碼

    本篇文章主要介紹了angular2系列之路由轉(zhuǎn)場(chǎng)動(dòng)畫的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-11-11
  • Angular的$http與$location

    Angular的$http與$location

    這篇文章主要為大家詳細(xì)介紹了Angular的$http與$location,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • Angularjs中$http以post請(qǐng)求通過消息體傳遞參數(shù)的實(shí)現(xiàn)方法

    Angularjs中$http以post請(qǐng)求通過消息體傳遞參數(shù)的實(shí)現(xiàn)方法

    這篇文章主要介紹了Angularjs中$http以post請(qǐng)求通過消息體傳遞參數(shù)的方法,結(jié)合實(shí)例形式分析了$http使用post請(qǐng)求傳遞參數(shù)的相關(guān)設(shè)置與使用技巧,需要的朋友可以參考下
    2016-08-08
  • Angular4.0中引入laydate.js日期插件的方法教程

    Angular4.0中引入laydate.js日期插件的方法教程

    在AngularJs中我們會(huì)不可避免的使用第三方庫(kù),例如jquery插件庫(kù)。下面這篇文章主要給大家介紹了關(guān)于Angular4.0中引入laydate.js日期插件的相關(guān)資料,需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-12-12
  • Angularjs 事件指令詳細(xì)整理

    Angularjs 事件指令詳細(xì)整理

    這篇文章主要介紹了Angularjs 事件指令詳細(xì)整理的相關(guān)資料,這里對(duì)AngularJS 的所有的事件指令一一做出詳細(xì)介紹,需要的朋友可以參考下
    2017-07-07
  • 詳解AngularJS Filter(過濾器)用法

    詳解AngularJS Filter(過濾器)用法

    這篇文章主要介紹了AngularJS的filter,中文名“過濾器”是用來過濾變量的值,或者格式化輸出,得到自己所期望的結(jié)果或格式的東東,的相關(guān)資料,需要的朋友可以參考下
    2015-12-12
  • 淺談angular4生命周期鉤子

    淺談angular4生命周期鉤子

    本篇文章主要介紹了淺談angularr4生命周期鉤子,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-09-09
  • Angularjs之如何在跨域請(qǐng)求中傳輸Cookie的方法

    Angularjs之如何在跨域請(qǐng)求中傳輸Cookie的方法

    跨域傳輸Cookie是需要后臺(tái)和前臺(tái)同時(shí)做相關(guān)處理才能解決的,這篇文章主要介紹了Angularjs之如何在跨域請(qǐng)求中傳輸Cookie的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-06-06

最新評(píng)論

开平市| 临漳县| 湘乡市| 佳木斯市| 滦平县| 合作市| 溧阳市| 龙山县| 泰来县| 城步| 册亨县| 张家川| 辰溪县| 蛟河市| 隆子县| 荣昌县| 宁晋县| 凌海市| 扎赉特旗| 葫芦岛市| 惠安县| 克山县| 塘沽区| 保亭| 金门县| 安溪县| 宣化县| 江都市| 淮滨县| 万州区| 会泽县| 宜兰县| 大同县| 潞城市| 尼玛县| 定南县| 成安县| 蓝山县| 望谟县| 东宁县| 赫章县|