Breeze.js键入实体

use*_*205 5 jaydata typescript breeze

有没有办法使用Breeze创建类型化实体,就像JaySvcUtil为JayData工作一样?这是否包括Typescript支持 - 在Breeze框架中是否还有一般的Typescript支持?

Ale*_*sko 6

这个要点包含一个T4TS的修改版本,其中包含一些初始支持,用于为每个实体生成"设计时Javascript类",并支持Breeze.

https://gist.github.com/alexdresko/5393155

到目前为止,它符合我的需求.我非常确定您需要在解决方案中使用DefinitelyTyped Breeze定义才能使其正常工作.

也许这是可以永久添加到T4TS的东西?也许这是Breeze团队考虑的事情?或者它可能只是愚蠢而且对我以外的任何人都没有用.:)

在我的dataservice中,我可以做类似的事情:

    createOrganization() : T4TS.Organization {
        return <T4TS.Organization>this.manager.createEntity("Organization");
    }
Run Code Online (Sandbox Code Playgroud)

然后,在我的VM中,所有这些代码都非常类型安全.

    organizationSubmit() {
        this.editingOrganization(false);
        var newOrganization = this.dataservice.createOrganization();

        newOrganization.Name(this.organizationNameInput());
        if (newOrganization.entityAspect.validateEntity()) {
            this.extendOrganization(newOrganization);
            this.organizations.push(newOrganization);
            this.dataservice.saveChanges();
            this.organizationNameInput("");
        } else {
            this.handleItemErrors(newOrganization);

        }
    };
Run Code Online (Sandbox Code Playgroud)

我真的不知道从这里去哪里.我尝试过分T4TS,但没有时间弄清楚他的构建系统.因此,要点.意见当然是受欢迎的.


Jay*_*and 4

我们确实计划使用 TypeScript 做更多事情,但尚未承诺具体的时间范围。(约翰的帖子中提到的鲍里斯的工作无疑是一个很好的开始)。

更新:从 v 0.84.4 开始,Breeze 提供完整的 TypeScript 支持。

至于为每个实体自动生成设计时 Javascript 类;我们对此进行了多次内部讨论,但实际上正在等待社区投票的结果。我们几乎肯定会在某个时候解决这个问题,但您对
UserVoice 的投票绝对可以加快这一过程。