5

방금 ​​Typescript 0.9로 코드를 업그레이드하고 Jquery, JqueryUI, Knockout, Knockout.Mapping 및 Knockout.Validation의 DefinitelyTyped 정의를 업데이트했습니다.Typescript 0.9 + 녹아웃 : 이상한 컴파일러 오류

코드가 겉으로보기에 컴파일되어 올바른 출력 js 파일이 표시됩니다.

아직 VS 밑줄 KnockoutObservable<T>KnockoutObservableArray<T>obs(value: T) 세터를 사용할 때마다 잘못된 유형을 제공한다고 말합니다.

Error 27 Supplied parameters do not match any signature of call target. 
Error 28 Could not select overload for 'call' expression. 

나는 약 100 가지의 오류가 있습니다. 내가 입력하려고 할 때 intellisense는 모든 유형에 대해 (): T(value: bool):void을 제공합니다. 예, 지정한 T에 상관없이 bool입니다. VS, 컴파일러 또는 WebEssentials 버그입니까? ~ 100 오류가 사라지게하려면 어떻게해야합니까?

EDIT (시각적 증거) enter image description here lot.TimeOnServerKnockoutObservable<number>되고, data.TimeOnServernumber이다.

예, vs + windows를 다시 시작했습니다. 오류가 지속되었습니다.

+0

당신은 VS를 통해 휘청을 던지고 그 라인 중 하나를 게시 할 수 있 었는가 isValid 기능을 다시 얻기 위해 다음과 같은 추가? – thomaux

+1

@Anzeo : added 예제 스크린 샷 – TDaver

+0

@kingdango : '벌거 벗은 람다가 마음에 들지 않는다'는 것은 무엇을 의미합니까? 이 코드는 올바르게 컴파일되고 실행됩니다. – TDaver

답변

2

나는이 같은 문제를 안고있었습니다. 나는 을 조사하지 않았다.이 일이 일어나고 있지만, knockout.validation.d.ts의 마지막 인터페이스를 주석 처리 한 후 나의 프로젝트에서 오류가 사라진다. 유효성 검사를 위해 isValid에 대한 호출이 중단됩니다.

interface KnockoutSubscribableFunctions { 
    isValid: KnockoutComputed<boolean>; 
    isValidating: KnockoutObservable<boolean>; 
    rules: KnockoutObservableArray<KnockoutValidationRule>; 
} 

은 내가

interface KnockoutObservableBase { 
    isValid: KnockoutComputed<boolean>; 
    isValidating: KnockoutObservable<boolean>; 
    rules: KnockoutObservableArray<KnockoutValidationRule>; 
} 
+0

이상하게 충분히 작동했습니다! – TDaver

관련 문제