角度2:组件交互,可选输入参数

前端之家收集整理的这篇文章主要介绍了角度2:组件交互,可选输入参数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个实现,其中父级希望通过使用子组件中可用的@Input参数将某些数据传递给子组件.但是,此数据传输是可选的,父母可能会或可能不会根据要求传递它.是否可以在组件中包含可选的输入参数.我在下面描述了一个场景:
<parent>
    <child [showName]="true"></child> //passing parameter
    <child></child> //not willing to passing any parameter
</parent>



//child component definition
@Component {
    selector:'app-child',template:`<h1>Hi Children!</h1>
          <span *ngIf="showName">Alex!</span>`
}


export class child {

    @Input showName: boolean;

    constructor() { }

}
您可以使用(?)运算符,如下所示
import {Component,Input} from '@angular/core';
@Component({
    selector:'child',template:`<h1>Hi Children!</h1>
          <span *ngIf="showName">Alex!</span>`
})


export class ChildComponent {

    @Input() showName?: boolean;

    constructor() { }

}

使用子组件的父组件将为

@Component({
  selector: 'my-app',template: `
    <div>
      <h2>Hello {{name}}</h2>
      <child [showName]="true"></child>
      <child ></child>
    </div>
  `,})
export class App {
  name:string;
  constructor() {
    this.name = 'Angular2'
  }
}

LIVE DEMO

原文链接:https://www.f2er.com/angularjs/143953.html

猜你在找的Angularjs相关文章