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

Angular 4“Heroes tutorial”与“templateUrl”和“NgIf”绑定问题

  •  0
  • Sampgun  · 技术社区  · 7 年前

    我一直在学习Angular 4教程,终于来到了这里

    https://angular.io/tutorial/toh-pt3

    我忠实地遵循所有步骤,除了一件事: 我真的不喜欢把HTML写进JS或TS。

    @Component({
      selector: '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>
      `
    })
    

    但看起来是这样的:

    @Component({
        selector: "hero-detail",
        templateUrl: "./templates/heroes_detail.html",
        styleUrls: ["./css/heroes_detail.css"]
    })
    

    <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>
    

    问题

    问题是,如果我使用“template”,它会工作,但如果我使用“templateUrl”,它不会!

    2 回复  |  直到 7 年前
        1
  •  1
  •   porgo    7 年前

    您在html文件中将hero变量更改为selectedHero。在组件中也进行更改。ts文件。

        2
  •  0
  •   Sampgun    7 年前

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

    所以在HTML中我必须使用 hero 而不是 selectedHero