Angular2에서 ngModel을 사용하여 인라인 편집을 구현하려고합니다. ngFor를 사용하여 반복 할 필요가있는 배열이 있고 ngModel도 사용합니다. 이 배열에 대해 인라인 편집을 적용하려고하면 각 배열의 변수에 대해 하나의 문자 만 편집 할 수 있습니다.Angular2 ngModel 및 ngFor를 사용하여 인라인 편집
작동 예제 here을 찾을 수 있습니다. 누군가가 나를 도울 수 있다면
import {Component} from '@angular/core'
import {InlineEditComponent} from './inline.component';
@Component({
selector: 'inline-app',
providers: [],
template: `
<div>
<h2>Inline Editing with Angular 2</h2>
<inline-edit [(ngModel)]="editableText" (onSave)="saveEditable($event)"></inline-edit>
</div>
<div>
<ul style="margin:5px;">
<li ngFor #arr [ngForOf]="array" [ngForTrackBy]="customTrackBy">
<inline-edit [(ngModel)]="arr" (onSave)="saveEditable($event)"></inline-edit>
</li>
// <li style="margin:5px;" *ngFor="let arr of array ; let i=index">
// <inline-edit [(ngModel)]="array[i]" (onSave)="saveEditable($event)"></inline-edit>
// </li>
</ul>
</div>
`,
directives: [InlineEditComponent]
})
export class InlineApp {
customTrackBy(index: number, obj: any): any {
return index;
}
editableText = "Click to edit me!";
// Save name to the server here.
saveEditable(value){
console.log(value);
}
array=['bmw','benz','honda'];
}
것은, 그것은 좋은 것 :
여기에 내가 함께 ngModel 및 ngFor을 사용하고 구성 요소에 대한 코드입니다.
... 귀하의 솔루션은 꽤 좋은 그러나 취소의 조치는 더 이상 취소 ... 그것은 여전히 만든 모든 변경 사항을 저장합니다. –
그래, 나는 모든 다른 기능에 온전한 체크를하지 않았으므로 거기에 경고를 써야했습니다. 내 변경 사항은 순수하게 그가 가지고있는 문제를 해결하는 것이 었습니다. –
본질적으로 그의 솔루션은 모델을 만드는 것입니다 - 데이터 클래스. 반복 가능한 데이터 객체를 구현할 때 권장되는 방법입니다. – BrianRT