2016-12-31 2 views
1

값.combineLatest 오류가 나는 다음과 같은 한

phone.component.ts:137 Uncaught TypeError: PhoneComponent_1.phones.set is not a function

: 다시 나는 예외 다음 얻을 형태로 값을 변경해야하는 경우에는

Angular 2 is running in the development mode. Call enableProdMode() to enable the production mode. 
error_handler.js:47 EXCEPTION: PhoneComponent_1.phones.set is not a function 
ErrorHandler.handleError @ error_handler.js:47 
next @ application_ref.js:272 
schedulerFn @ async.js:82 
SafeSubscriber.__tryOrUnsub @ Subscriber.js:223 
SafeSubscriber.next @ Subscriber.js:172 
Subscriber._next @ Subscriber.js:125 
Subscriber.next @ Subscriber.js:89 
Subject.next @ Subject.js:55 
EventEmitter.emit @ async.js:74 
NgZone.triggerError @ ng_zone.js:278 
onHandleError @ ng_zone.js:257 
ZoneDelegate.handleError @ zone.js:236 
Zone.runTask @ zone.js:157 
ZoneTask.invoke @ zone.js:335 
data.args.(anonymous function) @ zone.js:970 
error_handler.js:52 ORIGINAL STACKTRACE: 
ErrorHandler.handleError @ error_handler.js:52 
next @ application_ref.js:272 
schedulerFn @ async.js:82 
SafeSubscriber.__tryOrUnsub @ Subscriber.js:223 
SafeSubscriber.next @ Subscriber.js:172 
Subscriber._next @ Subscriber.js:125 
Subscriber.next @ Subscriber.js:89 
Subject.next @ Subject.js:55 
EventEmitter.emit @ async.js:74 
NgZone.triggerError @ ng_zone.js:278 
onHandleError @ ng_zone.js:257 
ZoneDelegate.handleError @ zone.js:236 
Zone.runTask @ zone.js:157 
ZoneTask.invoke @ zone.js:335 
data.args.(anonymous function) @ zone.js:970 
error_handler.js:53 TypeError: PhoneComponent_1.phones.set is not a function 
    at SafeSubscriber.__WEBPACK_IMPORTED_MODULE_2_rxjs__.Observable.combineLatest.debounceTime.subscribe [as _next] (phone.component.ts:137) 
    at SafeSubscriber.__tryOrUnsub (Subscriber.js:223) 
    at SafeSubscriber.next (Subscriber.js:172) 
    at Subscriber._next (Subscriber.js:125) 
    at Subscriber.next (Subscriber.js:89) 
    at DebounceTimeSubscriber.debouncedNext (debounceTime.js:98) 
    at AsyncAction.dispatchNext (debounceTime.js:114) 
    at AsyncAction._execute (AsyncAction.js:111) 
    at AsyncAction.execute (AsyncAction.js:86) 
    at AsyncScheduler.flush (AsyncScheduler.js:36) 
ErrorHandler.handleError @ error_handler.js:53 
next @ application_ref.js:272 
schedulerFn @ async.js:82 
SafeSubscriber.__tryOrUnsub @ Subscriber.js:223 
SafeSubscriber.next @ Subscriber.js:172 
Subscriber._next @ Subscriber.js:125 
Subscriber.next @ Subscriber.js:89 
Subject.next @ Subject.js:55 
EventEmitter.emit @ async.js:74 
NgZone.triggerError @ ng_zone.js:278 
onHandleError @ ng_zone.js:257 
ZoneDelegate.handleError @ zone.js:236 
Zone.runTask @ zone.js:157 
ZoneTask.invoke @ zone.js:335 
data.args.(anonymous function) @ zone.js:970 
phone.component.ts:137 Uncaught TypeError: PhoneComponent_1.phones.set is not a function 
    at SafeSubscriber.__WEBPACK_IMPORTED_MODULE_2_rxjs__.Observable.combineLatest.debounceTime.subscribe [as _next] (phone.component.ts:137) 
    at SafeSubscriber.__tryOrUnsub (Subscriber.js:223) 
    at SafeSubscriber.next (Subscriber.js:172) 
    at Subscriber._next (Subscriber.js:125) 
    at Subscriber.next (Subscriber.js:89) 
    at DebounceTimeSubscriber.debouncedNext (debounceTime.js:98) 
    at AsyncAction.dispatchNext (debounceTime.js:114) 
    at AsyncAction._execute (AsyncAction.js:111) 
    at AsyncAction.execute (AsyncAction.js:86) 
    at AsyncScheduler.flush (AsyncScheduler.js:36) 
__WEBPACK_IMPORTED_MODULE_2_rxjs__.Observable.combineLatest.debounceTime.subscribe @ phone.component.ts:137 
SafeSubscriber.__tryOrUnsub @ Subscriber.js:223 
SafeSubscriber.next @ Subscriber.js:172 
Subscriber._next @ Subscriber.js:125 
Subscriber.next @ Subscriber.js:89 
DebounceTimeSubscriber.debouncedNext @ debounceTime.js:98 
dispatchNext @ debounceTime.js:114 
AsyncAction._execute @ AsyncAction.js:111 
AsyncAction.execute @ AsyncAction.js:86 
AsyncScheduler.flush @ AsyncScheduler.js:36 
ZoneDelegate.invokeTask @ zone.js:265 
onInvokeTask @ ng_zone.js:227 
ZoneDelegate.invokeTask @ zone.js:264 
Zone.runTask @ zone.js:154 
ZoneTask.invoke @ zone.js:335 
data.args.(anonymous function) @ zone.js:970 
+0

제발,이 문제가 plunker 제공, 당신은 [this one] (http://embed.plnkr.co/w2FVfKlWP72pzXIsfsCU/)을 템플릿으로 사용할 수 있습니다. –

답변

0

오류가 뭐가 잘못 말한다 (PhoneComponent는 combineLatest이 사용되는 내 사용자 지정 구성 요소입니다) 문제는 combineLatest에 없습니다.

phones 속성이 설정되어 있지만 (null이 아님) set 메서드가 없습니다. Map.set은 존재해야합니다. phones이 아닌 것 같아요. 어쩌면 어딘가에 무심코 대체 할 수 있습니다. 당신은 컴파일 된 JS를 보면 당신은 정적 속성이 초기화되기 전에 Observable.combineLatest를 부를 수있는 것을 볼 수 있기 때문에

class A { 
    static m: Map<number, {}> = new Map<number, {}>(); 
} 

A.m.set(1, {'a': 123}); 
A.m.set(2, {'a': 321}); 

console.log(A.m); 

작품 위의 예 그러나 당신이 Observable.combineLatest 전화 봐 가지고 :

var A = (function() { 
    function A() { 
    } 
    return A; 
}()); 
A.m = new Map(); 
A.m.set(1, { 'a': 123 }); 
A.m.set(2, { 'a': 321 }); 
console.log(A.m); 
+0

감사합니다. 당신이 올바른지. 나는 오류를 보았지만 어느 정도 시간이 지나면 알아낼 수 없었다. 또 다른 관측통은 상점에 액세스하여 문제를 일으키는 것입니다. 그 말을 듣고 모든 것이 예상대로 돌아갔습니다. –