gpt4 book ai didi

angularjs - 添加层级依赖的 TypeLite 生成

转载 作者:搜寻专家 更新时间:2023-10-30 21:13:06 26 4
gpt4 key购买 nike

我目前正在使用 TypeScript 中的 AngularJS 1.x 和 C# 中的 AspNet WebApi 后端构建客户端。

为了与后端通信,我使用了来自 Angular 的 $resource-Service。通过使用此服务,我使用 TypeLITE 生成的模型接口(interface)必须扩展

ng.resource.IResource<IModel> 

是否可以从angular描述的这个接口(interface)自动扩展所有生成的模型接口(interface)?

否则一切都必须像这样单独完成

export interface Model extends ng.resource.IResource<Model> {
}

非常感谢,MacX

最佳答案

这不是一项简单的任务。一个选项是创建自定义 TsModelVisitor添加虚拟类 ng.resource.IResource<T>到代码模型并修改代码模型中所有其他类的基类。

我会尝试以下步骤:

  • 创建一个派生自 TsModelVisitor 的类

    • VisitModel方法创建一个新的 TsClass表示 Angular 模型接口(interface)的模型
    • VisitClass方法集 BaseTypeVisitModel 中创建的类每个类的方法
  • 在 .tt 文件中调用模型访问者

    var ts = TypeScript.Definitions()
    .AsConstEnums(false);
    var model = ts.ModelBuilder.Build();
    model.RunVisitor(new YourModelVisitor());
  • 代替<#= ts.Generate(TsGeneratorOutput.Properties) #>使用“<#= ts.ScriptGenerator.Generate(model, TsGeneratorOutput.Properties) #>”生成输出

关于angularjs - 添加层级依赖的 TypeLite 生成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32049119/

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