敲除打字稿傳遞對象我有傳遞一個目的是該組件的視圖模型的定製組件。這使用打字稿。該對象到達構造函數中,但它通過敲除包裝在匿名對象中。無包裝
是否有辦法防止這種情況,只是得到了強類型值對象?
在構造函數中我得到這個:
Object { value: Order, $raw: Object }
我想立刻擁有價值/訂單。
這裏是我的代碼:
的index.html:
<div data-bind="foreach: Orders"/>
<my-component params="value: $data"></my-component>
</div>
component.html:
<span data-bind="text: Name"></span>
component.ts
ko.components.register('my-component', {
viewModel: ComponentVm,
template: component.html"
});
Component.ts:
class ComponentVm{
public Name:string;
constructor(order:Order){
this.Name = order.Name; //Problem here because of anonymous object
}
}
Order.ts:
Class Order {
public Name:string = "Bob";
constructor(){}
}
一個解決辦法是:
class ComponentVm{
public Name:string;
constructor(anonymousObject:any){
let order = anonymousObject.value;
this.Name = order.Name;
}
}
但是,這是不是真的很好。
對不起,我怕我不遵守。我如何定義params對象,如果我無法控制它?它應該是一個命令(這是params的定義)。 – Carbosound1
不,這是一個包含訂單的對象。 –