草庐IT

TS-interface的用法

全部标签

javascript - 你能在 TypeScript 接口(interface)中定义字符串长度吗?

我有一个这样的结构:structtTest{charfoo[1+1];charbar[64];};我有TypesScriptexportinterfacetTest{foo:string;bar:string;}有没有办法将[64]和[1+1]添加到类型中? 最佳答案 正如评论所说:js/ts不支持char类型,无法声明数组/字符串长度。不过,您可以使用setter强制执行:interfacetTest{foo:string;}classtTestImplementationimplementstTest{private_foo:s

javascript - vscode : [ts] Experimental support for decorators is a feature that is subject to change

我得到“[ts]对装饰器的实验性支持是一项功能,在未来的版本中可能会发生变化。设置'experimentalDecorators'选项以删除此警告。”我是Angular的新手,我不知道如何解决它。我的tsconfig.json文件:{"compilerOptions":{"allowSyntheticDefaultImports":true,"declaration":false,"emitDecoratorMetadata":true,"experimentalDecorators":true,"lib":["dom","es2015"],"module":"es2015","mod

javascript - 在 JavaScript 类型文件中声明接口(interface)

项目信息我正在开发一个使用.d.ts文件的JavaScript项目。这是我之前提出的问题的后续问题,因此您可以查看有关该项目的更多信息here.问题虽然我通常可以从类型文件中提取函数,但我无法提取空的或仅由接口(interface)组成的接口(interface)或namespace。我通过为每个接口(interface)创建一个const实现并在注释中使用@typeofConstantImplementation暂时解决了这个问题。请参见下面的示例://TypingsFileexportnamespacetest{exportinterfaceITest{foo:string;bar

javascript - 类型保护错误 TS2532 之后, typescript 对象可能未定义

我正在使用Typescript2.3.4、Node.JS8.0.0和Feathers框架(版本2.1.1).我正在制作一条使用服务的快速路线,当我在feathers应用程序上获取单例实例后尝试使用该服务时,Typescript抛出一个错误TS2532:Objectispossibly'undefined'错误,即使在显式类型保护之后。路由.tsimportfeathers=require('feathers');exportdefaultfunction(this:feathers.Application){constapp=this;app.post('/donuts',async(

javascript - 如何对 ExtJS 或类似的基于 JavaScript 的接口(interface)进行单元测试?

我正在使用PHPUnit来测试我的PHP源代码,但我也需要一种方法来测试客户端代码。我使用ExtJS来构建调用服务器获取数据的相当复杂的接口(interface)。我想知道如何测试UI? 最佳答案 最近刚推出一个新工具,叫做Siesta.它专门针对ExtJS(尽管也可以测试任何JS代码),并且非常适合测试ExtJSUI代码,因为它具有内置的ExtJS事件模拟和记录。我个人也用Jasmine对于我的单元测试,ExtJS团队内部也是如此,尽管它不是特别适合UI测试(尽管它非常适合测试代码)。

javascript - 使用 JavaScript 的 FileReader 接口(interface)检测文件的内容类型

我一直在为Web应用程序中的纯文本文件设置导入脚本。我的脚本如下:functiondataImport(files){confirm("Areyousureyouwanttoimporttheselectedfile?Thiswilloverwriteanydatathatiscurrentlysavedintheapplicationworkspace.");for(i=0;i它本质上是对thisquestion上的修改.但是,目前用户在技术上可以尝试导入任何文件。由于它是为纯文本文件设计的,如果导入不同类型的文件,就会出现问题。我注意到在控制台中,浏览器检测到正在导入的文件的内容类

C++中vector<vector<int> >的用法

注意vector>后面的尖括号前面要加上空格,否则在有些编译器出现问题vector>A;//错误的定义方式vector>A;//正确的定义方式一、为什么是vector?对于数组,大家常用索引和指针来操作数组,给程序设计带来了很大的灵活性。但是数组的越界可能会引起程序的崩溃,而且动态性不好,包括动态改变大小,动态申请。有什么办法可以解决这些问题吗?关于vector我不想多说,我假设大家都了解temlplate和STL比如map、list、vector等)。学习C++的时候学到过STL(标准模板库)知道vector提供了operator[]函数。可以像数组一样的操作,而且还有边界检查,动态改变大小

javascript - 如何将 TS 模块导入或要求到 CommonJS 文件中?

无论出于何种原因,我的一些模块必须是js文件。我像这样导入ts模块到我的js文件中:resolver.js:import{Message}from'../../connectors/message';//console.log('Message:',Message);constresolver={Query:{sendMessage:(root,args,ctx)=>{console.log(args,ctx);returnMessage.send('1','message');}}};export{resolver};message.ts:constMessage={send(id,

Javascript : setTimeout and interface freezing

上下文我有大约10个复杂的图表,每个图表需要5秒来刷新。如果我对这10个图进行循环,刷新大约需要50秒。在这50秒内,用户可以移动滚动条。如果移动滚动条,刷新必须停止,当滚动条停止移动时,刷新再次发生。我在循环中使用setTimeout函数让界面刷新。算法是:渲染第一张图setTimeout(渲染第二张图,200)第二张图渲染完成后,在200ms内渲染第三张图,以此类推setTimeout允许我们捕获滚动条事件并在下一次刷新时清除超时以避免在移动滚动条之前等待50秒...问题是它不会随时运行。采用以下简单代码(您可以在这个fiddle中尝试:http://jsfiddle.net/Bw

javascript - 使用 index.ts 文件导出类导致注入(inject)的构造函数中未定义

我使用index.ts文件来封装导出,如Angular2样式指南(https://github.com/mgechev/angular2-style-guide/blob/master/old/README.md#directory-structure)中所述。这在我编写的应用程序中运行良好,但出于某种原因,在我尝试注入(inject)另一项服务的一项服务中,这会导致奇怪的错误。导出类:import{Injectable}from"angular2/core";@Injectable()exportclassUserIds{private_signature_id:string;pri