ionic에서 *ngFor가 작동하지 않을 때의 해결 방법
6554 단어 ionic
*ngFor
가 동작하지 않고 넘어졌던 적이 있었으므로, 메모가 떠난다.운영 환경
비고
단지 메모이므로 ionic의 설치 등은 기재하지 않으므로 양해 바랍니다.
ionic의 사이트는 이쪽
하고 싶은 일
페이지 안에 있는 기능을 다른 컴포넌트 파일로 나누어 코드를 깨끗이 시킨다!
우선은 새로운 컴퍼넌트를 작성한다.
terminal$ ionic g component hoge
이어서 app.module.ts
에 다음을 추가한다.
app.module.tsimport { ComponentsModule } from "../components/components.module"; ////←これを追加する
@NgModule({
declarations: [...],
imports: [
...
ComponentsModule, //←これを追加する
...
],
bootstrap: [IonicApp],
entryComponents: [... ],
providers: [...]
})
그리고 호출하고 싶은 페이지의 .ts
파일에 아래와 같이를 추가.
index.tsimport { ComponentsModule } from "../../components/components.module";
만든 컴포넌트 파일의 템플릿은 이런 느낌.
hoge.html<ion-list>
<ion-card *ngFor="let card of cards">
<ion-card-content>
<ion-card-title>Hello World</ion-card-title>
<p>The content for this card</p>
</ion-card-content>
</ion-card>
</ion-list>
hoge.tsexport class HogeConponent {
cards: Array<{title: string, note: string}>;
constructor() {
this.cards = [];
for (let i = 1; i < 6; i++) {
this.cards.push({
title: 'title ' + i,
note: 'test' + i,
});
}
}
}
이번에 발생한 문제
브라우저에 표시된 내용은 이쪽.
Uncaught Error: Template parse errors:
Property binding ngForOf not used by any directive on an embedded template. Make sure that the property name is spelled correctly and all directives are listed in the "@NgModule.declarations". ("
직역하면 여기에서 *ngFor
뭐 사용할 수 없다(존재하지 않는다?)라는 화가 난 것 같습니다.
그래서 기존 모듈을 가져올 필요가 있다고 합니다.
그렇게 가져오자.
components.module.tsimport { CommonModule } from '@angular/common';
@NgModule({
...
imports: [CommonModule],
...
})
이것으로 어떻게든 움직이게 되었습니다! !
수고하셨습니다! !
약간의 잡담
실은 나 Angular는 커녕 JavaScript조차 거의 처음 만지므로, 정말로 모르는 것 투성이로 이런 초보적인 것에 집착하고 있을 뿐입니다 웃음
그러나 이것을 통해 기술력을 올릴 수 있다고 생각하기 때문에, 어쩐지 매일 즐기고 있습니다 웃음
참고한 기사
ANGULAR2: ERROR – CAN’T BIND TO ‘NGFOROF’ SINCE IT ISN’T A KNOWN PROPERTY
Reference
이 문제에 관하여(ionic에서 *ngFor가 작동하지 않을 때의 해결 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/sonio/items/a9d80d790cc3a732bd1f
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$ ionic g component hoge
import { ComponentsModule } from "../components/components.module"; ////←これを追加する
@NgModule({
declarations: [...],
imports: [
...
ComponentsModule, //←これを追加する
...
],
bootstrap: [IonicApp],
entryComponents: [... ],
providers: [...]
})
import { ComponentsModule } from "../../components/components.module";
<ion-list>
<ion-card *ngFor="let card of cards">
<ion-card-content>
<ion-card-title>Hello World</ion-card-title>
<p>The content for this card</p>
</ion-card-content>
</ion-card>
</ion-list>
export class HogeConponent {
cards: Array<{title: string, note: string}>;
constructor() {
this.cards = [];
for (let i = 1; i < 6; i++) {
this.cards.push({
title: 'title ' + i,
note: 'test' + i,
});
}
}
}
브라우저에 표시된 내용은 이쪽.
Uncaught Error: Template parse errors:
Property binding ngForOf not used by any directive on an embedded template. Make sure that the property name is spelled correctly and all directives are listed in the "@NgModule.declarations". ("
직역하면 여기에서
*ngFor
뭐 사용할 수 없다(존재하지 않는다?)라는 화가 난 것 같습니다.그래서 기존 모듈을 가져올 필요가 있다고 합니다.
그렇게 가져오자.
components.module.ts
import { CommonModule } from '@angular/common';
@NgModule({
...
imports: [CommonModule],
...
})
이것으로 어떻게든 움직이게 되었습니다! !
수고하셨습니다! !
약간의 잡담
실은 나 Angular는 커녕 JavaScript조차 거의 처음 만지므로, 정말로 모르는 것 투성이로 이런 초보적인 것에 집착하고 있을 뿐입니다 웃음
그러나 이것을 통해 기술력을 올릴 수 있다고 생각하기 때문에, 어쩐지 매일 즐기고 있습니다 웃음
참고한 기사
ANGULAR2: ERROR – CAN’T BIND TO ‘NGFOROF’ SINCE IT ISN’T A KNOWN PROPERTY
Reference
이 문제에 관하여(ionic에서 *ngFor가 작동하지 않을 때의 해결 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/sonio/items/a9d80d790cc3a732bd1f
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
ANGULAR2: ERROR – CAN’T BIND TO ‘NGFOROF’ SINCE IT ISN’T A KNOWN PROPERTY
Reference
이 문제에 관하여(ionic에서 *ngFor가 작동하지 않을 때의 해결 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/sonio/items/a9d80d790cc3a732bd1f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)