说我有一个TypeScript枚举,MyEnum,如下所示: enum MyEnum { First, Second, Third } 在TypeScript 0.9.5中生成枚举值数组的最佳方法是什么? 例: var choices: MyEnum[]; // or Array<MyEnum> choices = MyEnum.GetValues(); // plans for this? choices = EnumEx.GetValues(MyEnum); // or, how to roll my own?
我在我的应用程序中使用TypeScript,我使用函数: Object.assign(this.success, success.json()) 但是,在编译期间,我收到以下错误: error TS2339: Property 'assign' does not exist on type 'ObjectConstructor'. 你有什么想法,我怎么能摆脱这个错误?
我已经到处寻找,我仍然有问题在VS代码中debuggingTypeScript。 我已经读过这个线程,但仍然无法击中放置在TypeScript文件中的断点,点击.js文件中的断点都可以正常工作。 所以这里是我设立的最简单的“hello world”项目。 app.ts: var message: string = "Hello World"; console.log(message); tsconfig.json { "compilerOptions": { "target": "es5", "sourceMap": true } } launch.json { "version": "0.2.0", "configurations": [ { "name": "Launch", "type": "node", "request": "launch", "program": "${workspaceRoot}/app.js", "stopOnEntry": false, "args": [], "cwd": "${workspaceRoot}", "preLaunchTask": null, "runtimeExecutable": null, "runtimeArgs": [ "–nolazy" ], "env": { "NODE_ENV": "development" […]
我试图在我的generics类中创build一个types参数的新对象。 在我的类“查看”我有2genericstypes的对象作为typesparameter passing的列表,但是当我尝试使“新T()”打字稿说“找不到符号'T'”… 这是代码: 我可以从generics创build对象吗?
在TypeScript中实现Singleton模式的最好和最方便的方法是什么? (有和没有懒惰的初始化)。
我在这里检查http://go.microsoft.com/fwlink/?LinkId=267238这是TypeScript语言规范,但我看不到一件事情,我怎么可以声明函数的返回types。 我在下面的代码中展示了我期待的内容: greet(name:string) :string {} class Greeter { greeting: string; constructor (message: string) { this.greeting = message; } greet() : string{ return "Hello, " + this.greeting; } } 我看到我们可以使用(name:string) => any但是在传递callback函数的时候主要用到: function vote(candidate: string, callback: (result: string) => any) { // … }
由于是TypeScript的新手,我对“* .d.ts”感到好奇。 有人告诉我,这种文件就像C ++中的“头文件”,但只是js文件。 但是我不能将一个纯粹的js文件转换为“* .d.ts”文件,除非我强制将“js”改为“ts”。 所以我有三个文件:一个js文件,一个ts文件和一个* .d.ts文件。 1)他们之间有什么关系? 2)我怎样才能使用“* .d.ts”文件? 这是否意味着我可以永久删除“* .ts”文件? 3)如果是这样,“* .d.ts”文件如何知道哪个js文件映射到自己? 非常感谢! 如果有人能给我一个例子,这将是非常好的。
在Angular 1.xx中,您只需要提供相同的服务,最终得到相同的实例,从而可以共享服务中的数据。 现在在Angular 2中,我有一个组件可以参考我的服务。 我可以读取和修改服务中的数据,这很好。 当我尝试在另一个组件中注入相同的服务时,好像我得到一个新的实例。 我究竟做错了什么? 是模式本身是错误的(使用服务共享数据)还是我需要将服务标记为单例(在应用程序的一个实例中)或其他? 我在2.0.0-alpha.27/ btw 我通过@Component注释中的appInjector (edit:now providers )注入一个服务,然后在构造函数中保存一个引用。 它在组件本地工作 – 只是没有跨组件(他们不共享相同的服务实例),我想他们会。 更新 :从Angular 2.0.0开始,我们现在有了@ngModule,你可以在@ngModule上定义providers属性下的providers 。 这将确保将该服务的相同实例传递给该模块中的每个组件,服务等。 https://angular.io/docs/ts/latest/guide/ngmodule.html#providers
我是相当新的TypeScript,现在我有几个地方的.ts文件通过我的项目结构: app/ |-scripts/ |-app.ts | |-classes/ | |-classA.ts | |-classB.ts | |-controllers/ | |-controllerA.ts | |-controllerB.ts | |-otherStuff/ |-otherstuffA.ts 现在,当我的文件被编译时,它们被编译到.ts文件所在的目录中: app/ |-scripts/ |-app.ts |-app.js | |-classes/ | |-classA.ts | |-classB.ts | |-classA.js | |-classB.js | |-controllers/ | |-controllerA.ts | |-controllerB.ts | |-controllerA.js | |-controllerB.js | |-otherStuff/ |-otherstuffA.ts |-otherStuffA.js 虽然我喜欢.js文件与.ts文件保持相同的目录结构,但我不想追踪我的VCS中的.js文件,所以我想保留所有的JavaScript文件单独的目录树(我可以添加到.gitignore),如下所示: app/ |-scripts/ | |-app.ts | | […]
我在尝试 $(function(){ alert('Hello'); }); 它在Visual Studio中显示错误。 我如何使用TypeScript的jQuery?