인프런 커뮤니티 질문&답변

Jun Ho  Yoon님의 프로필 이미지
Jun Ho Yoon

작성한 질문수

앵귤러 파이어베이스 완전정복 - PetStore 쇼핑몰 프로젝트

Petlist 프로젝트 활용하기

9:12

작성

·

201

0

Error: src/app/classes/item.ts:2:5 - error TS2564: Property 'id' has no initializer and is not definitely assigned in the constructor. 2     id: string;

src/app/classes/item.ts:3:5 - error TS2564: Property 'name' has no initializer and is not definitely assigned in the constructor. 3     name: string;

src/app/classes/item.ts:4:5 - error TS2564: Property 'available' has no initializer and is not definitely assigned in the constructor. 4     available: boolean;

src/app/services/item.service.ts:15:31 - error TS2345: Argument of type 'string | null' is not assignable to parameter of type 'string'. Type 'null' is not assignable to type 'string'. 15       this.items = JSON.parse(localStorage.getItem('items'));

src/app/item/item.component.ts:33:9 - error TS2322: Type 'Item | undefined' is not assignable to type 'Item'. Type 'undefined' is not assignable to type 'Item'. 33         this.item = this.itemService.getItem(id);

오류가 생깁니다..

답변 2

0

설명대로 다운로드받은 폴더에서 복사하고

새로 생성한 프로젝트에 붙여넣기했는데 저도 저 위와 같은 오류문구가 나오네요

./src/app/services/item.service.ts:2:0-41 - Error: Module not found: Error: Can't resolve 'firebase/app' in 'C:\Users\jun\Documents\angular-08liter\angular-petlist\src\app\services'

./src/app/services/item.service.ts:3:0-27 - Error: Module not found: Error: Can't resolve 'firebase/database' in 'C:\Users\jun\Documents\angular-08liter\angular-petlist\src\app\services'

Error: src/app/classes/item.ts:2:5 - error TS2564: Property 'key' has no initializer and is not definitely assigned in the constructor.

2     key: string;

      ~~~

Error: src/app/classes/item.ts:3:5 - error TS2564: Property 'id' has no initializer and is not definitely assigned in the constructor.

3     id: string;

      ~~

Error: src/app/classes/item.ts:4:5 - error TS2564: Property 'name' has no initializer and is not definitely assigned in the constructor.

4     name: string;

      ~~~~

Error: src/app/classes/item.ts:5:5 - error TS2564: Property 'available' has no initializer and is not definitely assigned in the constructor.

5     available: boolean;

      ~~~~~~~~~

Error: src/app/item/item.component.html:4:27 - error TS2341: Property 'item' is private and only accessible within class 'ItemComponent'.

4       <input [(ngModel)]="item.id" placeholder="ID"/>

                            ~~~~

  src/app/item/item.component.ts:8:16

    8   templateUrl: './item.component.html',

      m               ~~~~~~~~~~~~~~~~~~~~~~~

    Error occurs in the template of component ItemComponent.

Error: src/app/item/item.component.html:4:27 - error TS2341: Property 'item' is private and only accessible within class 'ItemComponent'.

4       <input [(ngModel)]="item.id" placeholder="ID"/>

                            ~~~~

  src/app/item/item.component.ts:8:16

    8   templateUrl: './item.component.html',

                     ~~~~~~~~~~~~~~~~~~~~~~~

    Error occurs in the template of component ItemComponent.

Error: src/app/item/item.component.html:9:27 - error TS2341: Property 'item' is private and only accessible within class 'ItemComponent'.

9       <input [(ngModel)]="item.name" placeholder="Name"/>

                            ~~~~

  src/app/item/item.component.ts:8:16

    8   templateUrl: './item.component.html',

                     ~~~~~~~~~~~~~~~~~~~~~~~

    Error occurs in the template of component ItemComponent.

Error: src/app/item/item.component.html:9:27 - error TS2341: Property 'item' is private and only accessible within class 'ItemComponent'.

9       <input [(ngModel)]="item.name" placeholder="Name"/>

                            ~~~~

  src/app/item/item.component.ts:8:16

    8   templateUrl: './item.component.html',

                     ~~~~~~~~~~~~~~~~~~~~~~~

    Error occurs in the template of component ItemComponent.

Error: src/app/item/item.component.html:14:27 - error TS2341: Property 'item' is private and only accessible within class 'ItemComponent'.

14       <input [(ngModel)]="item.available" type="checkbox"/>

                             ~~~~

  src/app/item/item.component.ts:8:16

    8   templateUrl: './item.component.html',

                     ~~~~~~~~~~~~~~~~~~~~~~~

    Error occurs in the template of component ItemComponent.

Error: src/app/item/item.component.html:14:27 - error TS2341: Property 'item' is private and only accessible within class 'ItemComponent'.

14       <input [(ngModel)]="item.available" type="checkbox"/>

                             ~~~~

  src/app/item/item.component.ts:8:16

    8   templateUrl: './item.component.html',

                     ~~~~~~~~~~~~~~~~~~~~~~~

    Error occurs in the template of component ItemComponent.

Error: src/app/item/item.component.ts:34:9 - error TS2322: Type 'Item | undefined' is not assignable to type 'Item'.

  Type 'undefined' is not assignable to type 'Item'.

34         this.item = this.itemService.getItem(id);

           ~~~~~~~~~

Error: src/app/services/item.service.ts:4:27 - error TS2307: Cannot find module 'firebase/app' or its corresponding type declarations.

4 import * as firebase from 'firebase/app';

                            ~~~~~~~~~~~~~~

Error: src/app/services/item.service.ts:36:33 - error TS7006: Parameter 'snapshot' implicitly has an 'any' type.

36       this.itemList.on('value', snapshot => {

                                   ~~~~~~~~

Error: src/app/services/item.service.ts:37:27 - error TS7006: Parameter 'snap' implicitly has an 'any' type.

37         snapshot.forEach( snap => {

0

안녕하세요?

이 에러만으로 모든 원인을 찾기는 어렵지만 에러 내용을 보시면 Item 이 정의되어 있는지 그리고 import 되어 있는지 부터 확인해 보세요. Petlist는 간단한 구조이니 제공해드린 소스코드와 꼼꼼하게 비교해 보시면 잘못된 부분을 찾으실 수 있을겁니다.

감사합니다.

Jun Ho  Yoon님의 프로필 이미지
Jun Ho Yoon

작성한 질문수

질문하기