亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

詳解Angular2中Input和Output用法及示例

 更新時間:2017年05月21日 14:37:42   作者:justforuse  
這篇文章主要介紹了詳解Angular2中Input和Output用法及示例,對于angular2中的Input和Output可以和AngularJS中指令作類比,有興趣的可以了解一下

對于angular2中的Input和Output可以和AngularJS中指令作類比。

Input相當于指令的值綁定,無論是單向的(@)還是雙向的(=)。都是將父作用域的值“輸入”到子作用域中,然后子作用域進行相關(guān)處理。

Output相當于指令的方法綁定,子作用域觸發(fā)事件執(zhí)行響應(yīng)函數(shù),而響應(yīng)函數(shù)方法體則位于父作用域中,相當于將事件“輸出到”父作用域中,在父作用域中處理。

看個angular2示例吧,我們定義一個子組件,獲取父作用域的數(shù)組值并以列表形式顯示,然后當點擊子組件的元素時調(diào)用父組件的方法將該元素刪除。

//app.component.html
<app-child [values]="data" (childEvent) = "getChildEvent($event)">
</app-child>

//app.component.ts
@Component({
 selector: 'app-root',
 templateUrl: './app.component.html',
 styleUrls: ['./app.component.css']
})
export class AppComponent {
 data = [1,2,3];

 getChildEvent(index){
  console.log(index);
  this.data.splice(index,1);
 }
}

以上是跟組件app-root的組件類及模板,可以我們把data輸入到子組件app-child中,然后接收childEvent事件并對其進行響應(yīng)。

//app-child.component.html
<p *ngFor="let item of values; let i = index" (click)="fireChildEvent(i)">
 {{item}}
</p>


//app-child.component.ts
@Component({
 selector: 'app-child',
 templateUrl: './child.component.html',
 styleUrls: ['./child.component.css']
})
export class ChildComponent implements OnInit {
 @Input() values;
 @Output() childEvent = new EventEmitter<any>();
 constructor() { }

 ngOnInit() {

 }
 fireChildEvent(index){
  this.childEvent.emit(index);
 }
}

子組件定義了values接收了父組件的輸入,這里就是data值,然后使用ngFor指令顯示。

當點擊每個元素的時候觸發(fā)了click事件,執(zhí)行fireChildEvent函數(shù),該函數(shù)要將元素的index值“輸出”到父組件中進行處理。

Output一般都是一個EventEmitter的實例,使用實例的emit方法將參數(shù)emit到父組件中,觸發(fā)父組件的childEvent事件。

然后父組件監(jiān)聽到該事件的發(fā)生,執(zhí)行對應(yīng)的處理函數(shù)getChildEvent,刪除傳遞的元素索引指向的數(shù)據(jù),同時,視圖更新。

實際效果:

源碼地址:https://github.com/justforuse/angular2-demo/tree/master/angular-input-output

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • AngularJS入門教程(一):靜態(tài)模板

    AngularJS入門教程(一):靜態(tài)模板

    這篇文章主要介紹了AngularJS入門教程(一):靜態(tài)模板,本文是系列文章的第二篇,本系列會用一個項目來講解AngularJS的使用,需要的朋友可以參考下
    2014-12-12
  • ionic3實戰(zhàn)教程之隨機布局瀑布流的實現(xiàn)方法

    ionic3實戰(zhàn)教程之隨機布局瀑布流的實現(xiàn)方法

    這篇文章主要給大家介紹了關(guān)于ionic3實戰(zhàn)教程之隨機布局瀑布流的實現(xiàn)方法,文中通過示例代碼和圖文介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。
    2017-12-12
  • angular2模塊和共享模塊詳解

    angular2模塊和共享模塊詳解

    這篇文章主要介紹了angular2模塊和共享模塊詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • angularjs實現(xiàn)猜數(shù)字大小功能

    angularjs實現(xiàn)猜數(shù)字大小功能

    這篇文章主要為大家詳細介紹了angularjs實現(xiàn)猜數(shù)字大小功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • AngularJs Scope詳解及示例代碼

    AngularJs Scope詳解及示例代碼

    本文主要介紹AngularJs Scope的知識,這里整理了詳細資料及示例代碼,有興趣的小伙伴可以參考下
    2016-09-09
  • AngularJS?的生命周期和基礎(chǔ)語法使用詳解

    AngularJS?的生命周期和基礎(chǔ)語法使用詳解

    當你在輸入框中鍵入文本時,這個文本會立即反映到?testString?屬性上,反之亦然,如果你在組件類中改變?testString?的值,輸入框的內(nèi)容也會相應(yīng)更新,這篇文章主要介紹了AngularJS?的生命周期和基礎(chǔ)語法,需要的朋友可以參考下
    2024-05-05
  • Bootstrap + AngularJS 實現(xiàn)簡單的數(shù)據(jù)過濾字符查找功能

    Bootstrap + AngularJS 實現(xiàn)簡單的數(shù)據(jù)過濾字符查找功能

    這篇文章主要介紹了 Bootstrap + AngularJS 實現(xiàn)簡單的數(shù)據(jù)過濾字符查找功能,代碼簡單易懂,非常不錯具有參考借鑒價值,需要的朋友可以參考下
    2017-07-07
  • 詳解使用路由延遲加載 Angular 模塊

    詳解使用路由延遲加載 Angular 模塊

    這篇文章主要介紹了詳解使用路由延遲加載 Angular 模塊,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • 簡單講解AngularJS的Routing路由的定義與使用

    簡單講解AngularJS的Routing路由的定義與使用

    這篇文章主要介紹了AngularJS的Routing路由的定義與使用,講解了when()和otherwise()兩個相關(guān)的常用方法,需要的朋友可以參考下
    2016-03-03
  • AngularJS基礎(chǔ) ng-csp 指令詳解

    AngularJS基礎(chǔ) ng-csp 指令詳解

    本文主要介紹AngularJS ng-csp 指令,這里對ng-csp 的基礎(chǔ)資料的整理,并附代碼實例和實現(xiàn)效果圖,有需要的小伙伴參考下
    2016-08-08

最新評論