Angular2 如何创建子组件?两个组件(同级组件和上下级组件)之间如何传递数据参数?
简单组件可以直接建立在根组件app.component同级目录下。
详细见英雄案例的第四节“多组件”教程。
import { Component } from '@angular/core'; import { Hero } from './hero'; @Component({ selector: 'hero-detail', templateUrl: './hero.detail.component.html', styleUrls: ['./hero.detail.component.css'], }) export class HeroDetailComponent { }
父组件如果传递数据到子组件
父组件AppComponent
会告诉子组件HeroDetailComponent
要显示哪个英雄, 告诉的方法是把它的selectedHero
属性绑定到HeroDetailComponent
的hero
属性上。 这种绑定是这样的:
<hero-detail [hero]="selectedHero"></hero-detail>
在等号的左边,是方括号围绕的hero
属性,这表示它是属性绑定表达式的目标。 我们要绑定到的目标属性必须是一个输入属性,否则Angular会拒绝绑定,并抛出一个错误。
公用类可以单独提取出来跟组件放在同级目录
hero.ts
//创建一个英雄类 export class Hero{ id: number; name: string; }
需要用到组件和类的地方用导入的方法:
import { Hero } from './hero';
import { HeroDetailComponent } from './hero-detail.component';