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

Angular2 組件間通過(guò)@Input @Output通訊示例

 更新時(shí)間:2017年08月24日 16:09:37   作者:冰凍魚(yú)  
本篇文章主要介紹了Angular2 組件間通過(guò)@Input @Output通訊示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

本文介紹了Angular2 組件間通過(guò)@Input @Output通訊示例,分享給大家,具體如下:

父組件傳給子組件:

子組件設(shè)置@Input屬性,父組件即可通過(guò)設(shè)置html屬性給子組件傳值。

子組件:

 @Input() title:string;
 _name:string = '';

 @Input() set name(name:string) {
  this._name=(name&&name.trim())||'';
 }

上面的代碼設(shè)置了兩個(gè)可供父組件傳入的屬性:title和name,當(dāng)設(shè)置name屬性時(shí),set name(name:string)方法會(huì)執(zhí)行,如果不需要處理setter,那么用title的形式,一行代碼聲明即可.

父組件調(diào)用:

<app-header [title]="title" name="姓名"></app-header>

調(diào)用方法有兩種,屬性名用中括號(hào)包圍的title,值title是父組件中的對(duì)象名,而name沒(méi)有用中括號(hào),后面的值就是傳給子組件的字符串。當(dāng)然,不用中括號(hào),也可以用{{name}}傳對(duì)象的值。

如果要監(jiān)聽(tīng)傳入屬性值的變化,可以在子組件實(shí)現(xiàn)OnChanges(@angular/core中)接口:

export class HeaderComponent implements OnChanges {
 ngOnChanges(changes: SimpleChanges): void {
  console.log(changes['title']);
 }
 @Input() title:string;
 _name:string = '';

 @Input() set name(name:string) {
  this._name=(name&&name.trim())||'';
 }

}

SimpleChanges 是一個(gè)用屬性名作key的數(shù)組,通過(guò)屬性名取出對(duì)象,對(duì)象里包含該屬性變化前(previousValue)后(currentValue)的值。

父組件監(jiān)聽(tīng)子組件變化

子組件通過(guò)@Output()暴露EventEmitter,父組件在聲明子組件時(shí)增加EventEmitter的回調(diào)方法,子組件在需要的時(shí)候彈射事件,父組件的回調(diào)方法里就能收到。

子組件:

export class HeaderComponent implements OnChanges {
 ngOnChanges(changes: SimpleChanges): void {
  console.log(changes['title']);
 }
 @Input() title:string;
 _name:string = '';

 @Input() set name(name:string) {
  this._name=(name&&name.trim())||'';
 }
 //聲明事件發(fā)射器
 @Output() checkEmitter=new EventEmitter<boolean>();
 //用于綁定checkbox的checked屬性
 isChecked=true;

 toggle() {
  this.isChecked=!this.isChecked;
  //發(fā)射事件
  this.checkEmitter.emit(this.isChecked);
 }
}

子組件模板:

<p>
 {{title}}
</p>
<p><input type="checkbox" name="cb" [(ngModel)]="isChecked" (click)="toggle()" />Checkbox <br /></p>

父組件中聲明:

復(fù)制代碼 代碼如下:

<app-header [title]="title" name="{{name}}" (checkEmitter)="onCheckedChange($event)" ></app-header>

父組件事件回調(diào)接收:

export class AppComponent implements AfterViewInit{
 ngAfterViewInit() {

 }
 onCheckedChange(isChecked:boolean) {
  console.log("checkbox選中狀態(tài):"+isChecked);
 }
}

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

相關(guān)文章

  • 詳解用webpack2搭建angular2的項(xiàng)目

    詳解用webpack2搭建angular2的項(xiàng)目

    本篇文章主要介紹了詳解用webpack2搭建angular2的項(xiàng)目 ,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-06-06
  • angularJS實(shí)現(xiàn)不同視圖同步刷新詳解

    angularJS實(shí)現(xiàn)不同視圖同步刷新詳解

    今天小編就為大家分享一篇angularJS實(shí)現(xiàn)不同視圖同步刷新詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-10-10
  • Angular 表單控件示例代碼

    Angular 表單控件示例代碼

    本文的主要是演示 Template-driven 中,一些常用控件的使用方式,僅供參考。具體請(qǐng)根據(jù)實(shí)際業(yè)務(wù)需求做相應(yīng)調(diào)整。
    2017-06-06
  • Angular5中調(diào)用第三方j(luò)s插件的方法

    Angular5中調(diào)用第三方j(luò)s插件的方法

    下面小編就為大家分享一篇Angular5中調(diào)用第三方j(luò)s插件的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-02-02
  • AngularJs用戶(hù)輸入動(dòng)態(tài)模板X(qián)SS攻擊示例詳解

    AngularJs用戶(hù)輸入動(dòng)態(tài)模板X(qián)SS攻擊示例詳解

    這篇文章主要給大家介紹了關(guān)于AngularJs用戶(hù)輸入動(dòng)態(tài)模板X(qián)SS攻擊的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用angularjs具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-04-04
  • Angular.JS中指令ng-if、ng-show/ng-hide和ng-switch的使用教程

    Angular.JS中指令ng-if、ng-show/ng-hide和ng-switch的使用教程

    在Angular的原生指令中有這幾個(gè)指令用來(lái)控制元素的展示與否,ng-show/ng-hide/ng-if和ng-switch。在angular性能優(yōu)化中,我們也常常會(huì)用到它。這篇文章主要給大家介紹了在Angular.JS中指令ng-if、ng-show/ng-hide和ng-switch的使用教程,需要的朋友可以參考。
    2017-05-05
  • 詳解Angular數(shù)據(jù)綁定及其實(shí)現(xiàn)方式

    詳解Angular數(shù)據(jù)綁定及其實(shí)現(xiàn)方式

    數(shù)據(jù)綁定是將應(yīng)用程序UI或用戶(hù)界面綁定到模型的機(jī)制。使用數(shù)據(jù)綁定,用戶(hù)將能夠使用瀏覽器來(lái)操縱網(wǎng)站上存在的元素。
    2021-05-05
  • ios設(shè)備中angularjs無(wú)法改變頁(yè)面title的解決方法

    ios設(shè)備中angularjs無(wú)法改變頁(yè)面title的解決方法

    今天小編就為大家分享一篇ios設(shè)備中angularjs無(wú)法改變頁(yè)面title的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-09-09
  • 解決angularjs service中依賴(lài)注入$scope報(bào)錯(cuò)的問(wèn)題

    解決angularjs service中依賴(lài)注入$scope報(bào)錯(cuò)的問(wèn)題

    今天小編就為大家分享一篇解決angularjs service中依賴(lài)注入$scope報(bào)錯(cuò)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-10-10
  • AngularJS 應(yīng)用模塊化的使用

    AngularJS 應(yīng)用模塊化的使用

    這篇文章主要介紹了AngularJS 應(yīng)用模塊化的使用,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04

最新評(píng)論

达尔| 大埔县| 普陀区| 波密县| 定州市| 桦南县| 鹤岗市| 蕲春县| 琼中| 南昌县| 通许县| 新乡市| 广水市| 大关县| 陆河县| 固原市| 建水县| 资源县| 莱芜市| 固阳县| 门头沟区| 石家庄市| 罗甸县| 济源市| 应城市| 北流市| 北海市| 蒲江县| 观塘区| 修武县| 托克逊县| 万载县| 泸州市| 电白县| 丽江市| 马山县| 台州市| 大埔县| 宁津县| 玉田县| 夹江县|