gpt4 book ai didi

knockout.js - 使用 typescript Breeze 实体

转载 作者:搜寻专家 更新时间:2023-10-30 20:54:40 25 4
gpt4 key购买 nike

我正在使用 Breeze + Typescript + Knockout 进行水疗,我面临以下问题:当我使用 EntityManager.createEntity 创建新实体时,typescript 不允许我使用 Breeze 从元数据生成的可观察对象。Typescript 仅“看到”“entityAspect”和“entityType”属性。我正在使用 DefinitelyTyped 的类型定义。非常感谢任何帮助!

最佳答案

您可以为扩展 breeze.Entity 的类型创建一个接口(interface):

/// <reference path="breeze.d.ts" />
module model {
export interface ResponsesItem extends breeze.Entity {
ContentTypeID: string;
Title: string;
Description: string;
EventDate: any;
/* etc. */
}
}

然后,只要您需要以类型化的方式使用对象,例如从服务器加载时的查询结果,您就可以将对象转换为该接口(interface):

     private loadResponses(): void {
this.dataservice.ListResponses()
.then((data: { results: breeze.Entity[]; query: breeze.EntityQuery; XHR: XMLHttpRequest; }) => {
var results: model.ResponsesItem[] = <model.ResponsesItem[]>data.results;
// Do something with typed results array here.
}).fail((error) => {
this.handleDataError(error);
});
}

关于knockout.js - 使用 typescript Breeze 实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15560187/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com