각도 객체 2를 반환하겠다는 약속을 사용하는 데 문제가 있습니다. degree.service의 첫 번째 return 문 (주석 처리되지 않음)은 getDegree의 주석 처리되지 않은 구현과 잘 어울립니다() 안에 build.component. 나는 약속을 사용하여 주석 구현 중 하나로 전환하려고 할 때, 객체는 항상 다시각도 2 약속 전달 객체 관련 문제
import { Injectable } from '@angular/core';
import { Degree } from '../components/degree';
import { Category } from '../components/category';
import { Course } from '../components/course';
import { SAMPLE } from '../components/mock-degree';
@Injectable()
export class DegreeService{
getDegree(){
return SAMPLE;
// return Promise.resolve(SAMPLE);
// return new Promise<Degree>(function (resolve, reject) {
// resolve(SAMPLE);
// })
}
}
build.component.ts "정의되지 않은"
degree.service.ts로 온다 난 당신이 템플릿이 아니라 약속으로 currDeg
을 사용하는 방법을 모르는
import { Component, Input, OnInit } from '@angular/core';
import { SEMANTIC_COMPONENTS, SEMANTIC_DIRECTIVES } from "ng-semantic";
import { Course } from '../course';
import { Category } from '../category';
import { PaneComponent } from './pane/pane.component';
import { Degree } from '../degree';
import { DegreeService } from '../../services/degree.service';
const blank: Category = {
name: '',
rank: 1,
rulestat: 'no',
categories: [],
courses: []
}
@Component({
selector: 'my-build',
directives: [SEMANTIC_COMPONENTS, SEMANTIC_DIRECTIVES, PaneComponent],
templateUrl: `app/components/build/build.component.html`,
providers: [DegreeService]
})
export class BuildComponent implements OnInit{
constructor(private degreeService: DegreeService){}
level: number = 1;
currDeg: Degree;
parents = [blank, blank, blank, blank];
setLast(lst: Category){ //pass category objects, do all UI changing here
this.level = lst.rank + 1;
this.parents[lst.rank - 1] = lst;
}
getDegree(){
//this.degreeService.getDegree().then(deg => this.currDeg = deg)
this.currDeg = this.degreeService.getDegree();
}
ngOnInit(){
this.getDegree();
}
}
정확하게 "* 객체는 항상"정의되지 않음 "*으로 돌아옵니다. 언제 접근합니까 (너무 늦었습니까)? 범위 애플리케이션이 누락 되었습니까? – Bergi