Typescript 클래스가 있습니다. 내가 모든 객체의 필드를 통해 루프를 시도했습니다 다른 클래스의 일부 기능에서 일부 필드를Typescript 필드 형식 가져 오기
field1 : ko.observable<number>();
field2 : ko.observable<string>('');
...
을 가지고 있으며, 유형 number
의 필드에 나는 약간의 수정을 수행해야합니다.
어떻게 감지 할 수 있습니까?
나는 다음 시도했지만 항상 논리적 인 string
으로 유형을 얻을했습니다. locationModel
당신의 문제가 양식에서 입력 값은 항상 문자열이 될 것입니다 것입니다 text
Object.keys(locationModel)
.forEach(property => {
if (typeof locationModel[property]() === 'number') { }
else{ }
}
});
내가 동의합니다. 어쨌든 관측 대상을 특정 유형으로 강제 할 수 있는지 확신하지 못합니다. 이것이 작동하는 방식이 아닙니다. 그러나 [extenders] (http://knockoutjs.com/documentation/extenders.html)를 사용하여 녹아웃 값을 자동으로 변환 할 수 있습니다. – Tomalak
@Tomalak 타이프 스크립트 관점에서 볼 때 관측 대상을 특정 유형으로 입력하면 대부분의 TS 입력과 마찬가지로 런타임에 이러한 제약 조건이 모두 손실 되더라도 컴파일 타임에는 모두 정상입니다. – Alex
정확합니다. 아마도 OP는 실수로 TypeScript가 런타임 타입 변환을 포함한다고 생각합니까? – Tomalak