홈>
아래와 같이 유형 속성이 다른 클래스에 의해 정의 된 여러 유형의 객체가있는 Angular 4 Typescript 앱이 있습니다.
export class Fruit {
name: string;
type: string;
constructor(columnName: string) {
this.name = columnName;
}
}
export class Apple extends Fruit {
/* additional properties */
constructor(name: string) {
super(name);
}
get type(): string {
return 'apple';
}
}
export class Orange extends Fruit {
/* additional properties different from Apple */
constructor(name: string) {
super(name);
}
get type(): string {
return 'Orange';
}
}
이 객체는 바스켓의 과일과 같이 배열 구성원의 바스켓 객체에 속합니다. 양식의 드롭 다운을 통해 과일 종류를 동적으로 설정할 수 있기를 바랍니다. 내가 그렇게 할 때마다, 나는 얻는다 :
ERROR TypeError: Cannot set property type of [object Object] which has only a getter
Typescript를 처음 접했고 이미 고급 작업을하고 있다고 생각하지만, 내가 수행중인 프로젝트에 필요한 작업입니다.
<시간>수정 :
양식 요소를 생성하기 위해 ng-formly를 사용합니다. 관련 HTML은 다음과 같습니다.
<form class="formly" role="form" [formGroup]="fruitBasket" novalidate>
<div formArrayName="fruits">
<div *ngFor="let control of fruitBasketForm.controls.fruits.controls; let i = index">
<formly-form
[model]="fruitBasket.fruits[i]"
[fields]="fruitFields[i]"
*ngIf="i === currFruitIndex">
</formly-form>
</div>
</div>
</form>
- 답변 # 1
관련 자료
- 파이썬에서 다른 인스턴스의 클래스 이름을 사용하여 인스턴스를 만드는 방법은 무엇입니까?
- 다른 변수가 변경 될 때마다 클래스의 한 변수를 어떻게 변경할 수 있습니까? 파이썬
- c++ - 다른 포인터 (p)가 다른 포인터 (head)에 할당 된 클래스를 가리키면 전자 (p)가 소멸자를 호출합니까?
- 파이썬에서 자동으로 클래스의 인스턴스를 동적으로 생성하는 방법
- javascript - 한 클래스에서 다른 클래스로, 그 사이의 모든 항목에 스타일을 적용하는 방법
- java - 다른 클래스의 함수 호출을 사용한 While의 시간 복잡성
- python - 다른 클래스 메서드의 '헤더'에있는 클래스 메서드를 기본 변수로 어떻게 참조 할 수 있습니까?
- javascript - addEventListener로 클래스 변경을 유지하는 방법은 무엇입니까?
- pointers - C ++에서 클래스 개체의 참조를 다른 클래스 개체로 올바르게 전달하는 방법
- linux - 명령 줄에서 같은 행에있는 단어의 조건에 따라 다른 단어를 변경 하시겠습니까?
- dart - 실룩 거리다 - 사용자 정의 클래스 위젯에서 변수를 변경하는 방법
- haskell - 형식 클래스에 대해 Eq를 효율적으로 인스턴스화하는 방법
- typescript - typeof 클래스 또는 클래스의 인스턴스 대신 해당 하위 클래스
- php - phpunit - 다른 정적 클래스 메서드를 사용하는 클래스 메서드 테스트 방법
- inheritance - 인스턴스를 만들지 않고 한 클래스가 Java에서 다른 클래스를 확장하는지 확인할 수 있습니까?
- 부모 클래스에서 자식 클래스의 인스턴스가있는 목록을 가져 오는 C # 가장 좋은 방법
- javascript - 클래스를 미리로드하지 않고 동적으로 클래스 인스턴스 생성
- 한 Python 버전에서 다른 버전으로 패키지 변경
- python - tkinter - stringvar를 다른 클래스에 전달하는 방법은 무엇입니까?
- python 3.x - 변경되지 않는 다른 변수에 업데이트 가능한 변수 저장
관련 질문
- angular : TS의 초기화로 인해 개체의 문자열 보간이 작동하지 않습니다.
- angular : 'Observable'은 'EffectResult' 유형에 할당할 수 없습니다.
- javascript : ts Function 인터페이스는 어떤 메소드를 선언합니까?
- angular : Typescript의 배열 길이 -액세스 멤버
- angular : 각도 11의 상태를 사용하여 데이터를 새 탭에 전달하는 방법
- javascript : TypeError: $(...).sortable은 각도의 함수가 아닙니다.
- Ionic Angular에서 이온 선택
- Angular 6은 X-XSRF-TOKEN 헤더를 http 요청에 추가하지 않습니다.
- html : ngOnChanges는 동일한 값이 아닐 때만 작동합니다.
- ngIonic 6 및 Angular 13을 사용하여 어레이가 변경/업데이트될 때 보기를 업데이트하지 않는 경우
이 예에서
그러나 상속의 실제 사용법은 모든 객체가 자신이 속한 클래스를 알고 클래스에서 메소드를 사용해야한다는 것입니다. 당신이type
에 이름 충돌이 있기 때문에 수퍼 클래스에 세터가 있어야합니다. 필드type
에 의존하는 경우 상속 아키텍쳐의 속성은 실제로 상속의 완전한 힘을 사용하지 않습니다.