代码之家  ›  专栏  ›  技术社区  ›  Nexeuz

angular heroes教程主/详图构件。为什么英雄的父母会改变?

  •  1
  • Nexeuz  · 技术社区  · 6 年前

    我正在跟踪 Master/Detail Components - Angular tutorial heroes .我的问题是为什么 hero 如果它发送的变量不绑定 英雄 像这样的我认为这决不能发生。

    Angular example here (heroes tour stackblitz.com) .相关代码:

    <h2>My Heroes</h2>
    <ul class="heroes">
      <li *ngFor="let hero of heroes"
        [class.selected]="hero === selectedHero"
        (click)="onSelect(hero)">
        <span class="badge">{{hero.id}}</span> {{hero.name}}
      </li>
    </ul>
    
     <app-hero-detail [hero]="selectedHero"></app-hero-detail>
    
    1 回复  |  直到 6 年前
        1
  •  2
  •   acdcjunior Mukul Kumar    6 年前

    那是因为 hero 正在作为引用传递。和下面的 hero-detail-component 这个 ngModel 更改 hero.name 直接地

    而且因为它们是直接更改的,所以不需要为父级发出事件。

    英雄:

    <app-hero-detail [hero]="selectedHero"></app-hero-detail>
    

    英雄细节:

    <input [(ngModel)]="hero.name" placeholder="name"/>
    
    export class HeroDetailComponent implements OnInit {
    
      @Input() hero: Hero;