Angular 영웅 튜토리얼 4
4900 단어 AngularTypeScript
더 세밀하게 구성 요소로 분할
상세 구성요소
상세 부분을 다른 컴포넌트로 나누어 개발하기 쉽습니다.
터미널$ cd src/app
$ ng generate component hero-detail
html 변경
먼저, 먼저 만든 heroes 컴포넌트의 HTML을 다음과 같이 변경합니다.
heroes.component.html<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>
상세 부분의 기술을 지우고, 대신에 컴퍼넌트 태그를 씁니다.[hero]='selectedHero'
라고 쓰면 hero-detail 컴포넌트에 hero라는 프로퍼티를 값으로 전달할 수 있습니다.
그러나 hero-detail 컴포넌트에서 사용하려면 ts 파일로 처리해야합니다.
ts에서 속성을받을 준비
hero-detail.component.tsimport { Component, OnInit, Input } from '@angular/core';
//Inputを追加でimport(@Input()を使うため)
import {Hero} from '../hero';
@Component({
selector: 'app-hero-detail',
templateUrl: './hero-detail.component.html',
styleUrls: ['./hero-detail.component.css']
})
export class HeroDetailComponent implements OnInit {
@Input() hero : Hero;//ここでプロパティを宣言している
constructor() { }
ngOnInit() {
}
}
@Input
를 import 사용하면 속성을 받아 동일한 구성 요소의 html에서 사용할 수 있습니다.
hero-details.component.html<div *ngIf="hero">
<h2>{{hero.name | uppercase}} Details</h2>
<div><span>id: </span>{{hero.id}}</div>
<div>
<label>name:
<input [(ngModel)]="hero.name" placeholder="name"/>
</label>
</div>
</div>
나누기 전과 같으면 잘 구성 요소로 나눌 수 있습니다.
Reference
이 문제에 관하여(Angular 영웅 튜토리얼 4), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kanpeipei/items/fac0aa9bed9e6c32d6d1
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$ cd src/app
$ ng generate component hero-detail
<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>
import { Component, OnInit, Input } from '@angular/core';
//Inputを追加でimport(@Input()を使うため)
import {Hero} from '../hero';
@Component({
selector: 'app-hero-detail',
templateUrl: './hero-detail.component.html',
styleUrls: ['./hero-detail.component.css']
})
export class HeroDetailComponent implements OnInit {
@Input() hero : Hero;//ここでプロパティを宣言している
constructor() { }
ngOnInit() {
}
}
<div *ngIf="hero">
<h2>{{hero.name | uppercase}} Details</h2>
<div><span>id: </span>{{hero.id}}</div>
<div>
<label>name:
<input [(ngModel)]="hero.name" placeholder="name"/>
</label>
</div>
</div>
Reference
이 문제에 관하여(Angular 영웅 튜토리얼 4), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kanpeipei/items/fac0aa9bed9e6c32d6d1텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)