在TypeScript中, const关键字不能用来声明类属性。 这样做会导致编译器出错,“一个类成员不能有'const'关键字。 我发现自己需要在代码中清楚地指出一个属性不应该改变。 我想要IDE或编译器错误,如果我试图分配一个新的值的属性一旦声明。 你们怎么做到的? 我目前正在使用一个只读属性,但我是新手Typescript(和JavaScript),并想知道是否有更好的方法: get MY_CONSTANT():number {return 10}; 我正在使用打字稿1.8。 build议? PS:我现在使用的是打字稿2.0.3,所以我接受了David的回答
我已经定义了这样一个接口: interface IModal { content: string; form: string; href: string; $form: JQuery; $message: JQuery; $modal: JQuery; $submits: JQuery; } 我定义了一个像这样的variables: var modal: IModal; 但是,当我尝试设置模态的属性时,它给了我一个消息说 "cannot set property content of undefined" 有人可以帮我弄这个吗? 使用界面来描述我的模态对象是否可以,如果可以,我应该如何创build它?
Typescript在export和default export之间有什么区别。 在所有教程中,我都看到有人export他们的类,如果我在导出之前不添加default关键字,我不能编译我的代码。 另外,在官方的脚本文档中 ,我找不到任何默认导出关键字的跟踪。 export class MyClass { collection = [1,2,3]; } 不编译。 但: export default class MyClass { collection = [1,2,3]; } 请问。 错误是: error TS1192: Module '"src/app/MyClass"' has no default export.
我使用了很多库,包括我自己的和第三方的。 我看到“打字”目录包含一些Jquery和WinRT …但他们是如何创build的?
我有一个父组件( CategoryComponent ),一个子组件( videoListComponent )和一个ApiService。 我大部分工作正常,即每个组件可以访问JSON API,并通过observables获取其相关数据。 目前的video列表组件只是获取所有的video,我想过滤这只是一个特定类别的video,我通过@Input()将categoryId传递给孩子来实现这一点。 CategoryComponent.html <video-list *ngIf="category" [categoryId]="category.id"></video-list> 这工作,当父类CategoryComponent类别更改然后categoryId值通过@Input()传递但我需要在VideoListComponent中检测到此并通过APIService(具有新的categoryId)重新请求video数组。 在angular1中,我会在variables上做一个$watch 。 处理这个问题的最好方法是什么?
在TypeScript中是否存在公共静态常量? 我有一个类,看起来像: export class Library { public static BOOK_SHELF_NONE: string = "None"; public static BOOK_SHELF_FULL: string = "Full"; } 在那个课上,我可以做Library.BOOK_SHELF_NONE和tsc不会抱怨。 但是,如果我尝试在其他地方使用类库,并尝试做同样的事情,它不认识它。
这些语句(接口和types)有什么区别? interface X { a: number b: string } type X = { a: number b: string }
在TypeScript中,可以声明属性的types,例如: class className{ property : string; }; 我应该如何编写代码来声明对象字面值的属性types? 这样的代码不能编译: var obj = { property: string; }; (我得到错误 – 名称'string'不存在于当前范围)。 我做错了什么或者是一个错误?
任何人都知道如何投入TypeScript? 我正在尝试这样做: var script:HTMLScriptElement = document.getElementsByName("script")[0]; alert(script.type); 但它给了我一个错误: Cannot convert 'Node' to 'HTMLScriptElement': Type 'Node' is missing property 'defer' from type 'HTMLScriptElement' (elementName: string) => NodeList 我不能访问脚本元素的“types”成员,除非我把它转换成正确的types,但我不知道该怎么做。 我搜查了文档和样本,但是找不到任何东西。
当使用针对vs.net的TypeScript插件时,如何在其他TypeScript文件中声明一个TypeScript文件导入模块? 文件1: module moo { export class foo ….. } 文件2: //what goes here? class bar extends moo.foo { }