我开始学英语了.我一直在学习angular提供的英雄教程.伊奥.

应用程序.组成部分ts

import { Component } from '@angular/core';
@Component({
  selector: 'my-app',
  templateUrl: './英雄html',
  styleUrls:['./styles.css']
})

export class AppComponent {
  title = 'Tour of Heroes';
  heroes = HEROES;
  selectedHero:Hero;

  onSelect(hero: Hero):void{
      this.selectedHero = hero;
  }
}

export class Hero{
   id: number;
   name: string;
}

const HEROES: Hero[] = [
   { id: 1, name: 'Mr. Nice' },
   { id: 2, name: 'Narco' },
   { id: 3, name: 'Bombasto' },
   { id: 4, name: 'Celeritas' },
   { id: 5, name: 'Magneta' },
   { id: 6, name: 'RubberMan' },
   { id: 7, name: 'Dynama' },
   { id: 8, name: 'Dr IQ' },
   { id: 9, name: 'Magma' },
   { id: 10, name: 'Tornado' }
];

英雄html

<h1>{{title}}</h1>
<h2>My Heroes</h2>
<ul class="heroes">
  <li *ngFor="let hero of heroes">
    <span class="badge">{{hero.id}}</span> {{hero.name}}
  </li>
</ul>
<h2>{{hero.name}} details!</h2>
<div>
    <label>id: </label>{{hero.id}}
</div>
<div>
    <label>name: </label>
    <input [(ngModel)]="selectedHero.name" placeholder="name">
<div>

这是一张照片:

enter image description here

推荐答案

变量selectedHero在模板中是null,因此不能按原样绑定selectedHero.name.在这种情况下,您需要使用elvis operator ?.:

<input [ngModel]="selectedHero?.name" (ngModelChange)="selectedHero.name = $event" />

还需要将[(ngModel)]分为[ngModel](ngModelChange),因为不能将其赋值给使用elvis运算符的表达式.

我还认为您的意思是使用:

<h2>{{selectedHero?.name}} details!</h2>

而不是:

<h2>{{hero.name}} details!</h2>

Angular相关问答推荐

使用多个管道时Angel 17空数据

如何在Angular 17中使用Angular—calendum?

为什么这个拦截器只在发送事件上触发,而不是在实际响应上触发?

有没有一种方法用timeout()操作符创建计数器,用于超时一个观察对象?

Angular 客户端应用程序无法从停靠容器解析后端服务的地址

Primeng 12Angular 12自定义库:错误符号字段集声明于...在编译保存后未从Primeng/fieldset中导出

如何使用ChangeDetectionStrategy.OnPush?

崩溃Angular项目Docker容器

PrimeNG 避免在同一位置使用不同键的 cogo toast 重叠

需要做什么才能使 ErrorHandler 正常工作?

如何在 Angular 中将tailwind 类传递给 fontawesome

如何在Angular2中基于特定的构建环境注入不同的服务?

Angular 2.0 中 $scope 的替代品

如何在 bootstrap Angular 2 应用程序时调用休息 api

在 RxJS Observable 中 flatten数组的最佳方法

Angular 2 Material Design 组件是否支持布局指令?

Angular 5 中 value 和 ngValue 的区别

默认情况下如何在Angular中 Select mat-button-toggle

在Angular2中获取服务的域名

没有 ChildrenOutletContexts 的提供者 (injectionError)