加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs2进阶教程3-建立英雄详情组件

发布时间:2020-12-17 09:34:46 所属栏目:安全 来源:网络整理
导读:还是 angularjs2入门1-文件结构分析 的源码,将app名称tutorial-step3-multipleComponents 1.上一节的详情内容 div *ngIf="selectedHero" h2{{selectedHero.name}} details!/h2 divlabelid: /label{{selectedHero.id}}/div div labelname: /label input [(ng

还是angularjs2入门1-文件结构分析的源码,将app名称tutorial-step3-multipleComponents

1.上一节的详情内容
<div *ngIf="selectedHero">
                <h2>{{selectedHero.name}} details!</h2>
                <div><label>id: </label>{{selectedHero.id}}</div>
                <div>
                  <label>name: </label>
                  <input [(ngModel)]="selectedHero.name" placeholder="name"/>
                </div>
              </div>
变成了
    <my-hero-detail [hero]="selectedHero"></my-hero-detail>
2.建立英雄详情组件my-hero-detail
import { Component,Input } from '@angular/core';
import { Hero } from './hero';
@Component({
  selector: 'my-hero-detail',template: `
    <div *ngIf="hero">
      <h2>{{hero.name}} details!</h2>
      <div><label>id: </label>{{hero.id}}</div>
      <div>
        <label>name: </label>
        <input [(ngModel)]="hero.name" placeholder="name"/>
      </div>
    </div>
  `
})
export class HeroDetailComponent {
  @Input()
  hero: Hero;
}

因为详情组件是从父组件[hero]="selectedHero"获取内容的,所以要在组件方法中加入@Input()

hero是属性绑定的目标— 它位于等号 (=) 左边方括号中

Angular 希望我们把目标属性声明为组件的输入属性,否则,Angular 会拒绝绑定,并抛出错误。

我们有几种方式把声明成输入属性。 这里我们采用首选的方式:使用我们前面导入的@Input装饰器向属性添加注解

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读