Typescript:别名一个长模块名
我已经查过了,下面是几个问题: 但我还是很困惑。这不是一个“要求”,只是一个愿望。我正在用Typescript使用剑道UI和他们的MVVM架构,我发现自己一直在用打字机打字Typescript:别名一个长模块名,typescript,Typescript,我已经查过了,下面是几个问题: 但我还是很困惑。这不是一个“要求”,只是一个愿望。我正在用Typescript使用剑道UI和他们的MVVM架构,我发现自己一直在用打字机打字 class Item extends ItemPrototype { public Quality: kendo.data.ObservableObject = new kendo.data.ObservableObject(); } 是的,这很好,但越来越讨厌了。有没有办法设置打字脚本,让我使用速记?像 class
class Item extends ItemPrototype {
public Quality: kendo.data.ObservableObject = new kendo.data.ObservableObject();
}
是的,这很好,但越来越讨厌了。有没有办法设置打字脚本,让我使用速记?像
class Item extends ItemPrototype {
public Quality: observable = new observable();
}
是的,有办法<代码>导入可用于导入模块,也可用于定义类型名称以使其更短。下面是后者的一个例子:
declare module alpha.bravo.charlie {
export class Delta {
constructor();
}
}
import Delta = alpha.bravo.charlie.Delta;
let d: Delta = new Delta();
您还可以通过让类型推断系统执行一些工作来保存键入
let d = new Delta();
从1.4开始,我们可以使用
类型
关键字
随着TypeScript 1.3的推出,我们专注于添加更多的类型
系统和ECMAScript 6的功能与TypeScript兼容。让我们快点
看看你在下一篇文章中可以使用的一些新功能
发布TypeScript。所有这些功能都在主控系统中提供
如果您想查看我们的GitHub存储库,请访问我们的分支
今天你自己
有了这些功能,我们可以更准确、更轻松地使用
在运行时可能具有不同类型的变量和表达式。
总之,这些特性有助于减少对显式类型的需求
注释、类型断言和“any”类型的使用。类型
定义文件(.d.ts)的作者可以使用这些文件更精确地
描述外部库。对于那些遵循
编译器,您会注意到我们已经在
今天是我的生日
有关更多信息,请访问:
例如:
让我们创建一个简单的模型:basemodel.ts
module NameSpace {
export module Model {
export class BaseModel {
public Id: number;
public Name: string;
}
}
}
我们需要在控制器中使用这个模型
/// <reference path="path to base model.ts" />
type BaseModel = NameSpace.Model.BaseModel;
module NameSpace {
export module Controller {
export class BaseController {
public entities: new Array<BaseModel>();
constructor(externalEntities: Array<BaseModel>) {
this.entities = externalEntities;
}
}
}
}
//
类型BaseModel=NameSpace.Model.BaseModel;
模块名称空间{
输出模块控制器{
导出类BaseController{
公共实体:新数组();
构造函数(外部实体:数组){
this.entities=外部实体;
}
}
}
}
类型别名不适用于问题的示例,因为它们只为类型引入新名称,而不是构造函数(const-Quality:observable
将起作用,const-Quality=new-observable()
将不起作用)Hello可以与源代码共享示例(gist等)?滚动到顶部,请看问题中给出的示例,并尝试使用类型别名缩短表达式new kendo.data.observeObject()
。您将发现这是不可能的,因为表达式中的构造函数是函数,并且类型别名不会为值(例如函数)引入新名称,而只为类型引入新名称。在您的示例中,错误位于第二个代码段中的new BaseModel()
,请访问:。Angularjs 1.4和Typescript之间的实现。请参见示例中的第78行:const tempButton:SubmitButton=new myteletooch.Entity.DOM.FormElement.SubmitButton.SubmitButton(
。它不能仅用类型
别名来缩短。我感觉我在和墙说话。注意:当使用动态加载.js的外部源时,可能会出现计时问题,如果(类型)为.js的别名还不是d/l。我希望我能在这个非典型案例的回调中调用一个导入。bing maps v8的例子发生在我身上。