Typescript类型:具有属性的函数

我正在尝试为Yargs js库编写一个Typescript删除文件 如何为具有双重行为的外部模块编写环境类型偏差 require('yargs').argv 而且 require('yargs')([ '-x', '1', '-y', '2' ]).argv 只需将函数导出为导出的模块。 例如: // foo.js function foo(args) { return { get: function() { return args; } size: args.leng

使用typescript将信息从一个页面传递到另一个页面的简单cordova应用程序

我已经创建了一个Apache Cordova应用程序(TypeScript)。但是我不知道如何使用typescript将信息从一个html页面传递到另一个html页面。 请让我知道导航和将数据发布到其他页面需要遵循哪些步骤。 谢谢,用于从一个页面设置参数,并从另一个页面获取参数。谢谢的可能副本,但我也想知道如何使用winjs或其他类似工具使用typescript从一个页面导航到另一个页面

Typescript 单击函数中的angular2访问依赖项

我正在使用angular2/Typescript构建一个应用程序,并尝试访问作为依赖项注入的服务。在Angular 1.x中,我将通过控制器函数访问此服务,并且所有子函数都可以访问相同的依赖项。在这里,我通过组件的构造函数注入它,如下所示: constructor( @Inject(JRummy) rummyGame: JRummy) { this.currentGame = new Game(); rummyGame.startGame(this.cur

Typescript 以简单/缩小的方式定义类成员

在Angular 2项目中,我有相当大的类定义,有大约15个字段 class员工{ 私人id:号码; 私有名称:字符串; 私人部门:字符串; 私有所有权?:字符串; //10多个领域 构造函数(_id:number, _名称:string, _部门:字符串, _标题:字符串 //10多个输入参数 ) { this.id=\u id; this.name=\u name; 这个部门=_部门; this.title=\u title; //还有10个作业 } } 这看起来和工作正常,但对于所有15

键入数组的typescript语法是什么

我实际上不知道在下面的第二行中如何调用要合并的参数,但它看起来像是一个具有字符串键的对象数组。英语中的参数是什么,如何构造/传递…iterables:{[key:string]:V}[] 编辑: 在阅读了答案之后,我混淆了很多东西,但主要是es6语法和typescript语法。下面的答案很好地处理了Rest参数,以帮助区分这些参数。在typescript中调用: 可索引类型有一个索引签名,它描述了我们需要的类型 可用于索引到对象中,以及相应的返回 索引时的类型 例如: let obj: { [n

Typescript 离子2-离子视图加载函数无法读取navCtrl

我正在使用LocalFower在我的应用程序中存储本地数据。因此,我检查屏幕何时加载if value=true,何时页面必须重定向到我的选项卡页面 以下是构造函数: constructor(public navCtrl: NavController, public loading: LoadingController){} 以下是我的ionViewLoaded函数: ionViewDidLoad() { localForage.getItem('didLogin', function(e

Typescript 如何在html中获取Angular 2中字典的特定值

我有一本字典,想访问html中特定键的值。哪种可能的方式 export interface ICollection<T> { add(key: number, value: T); containsKey(key: number): boolean; item(key: number): T; keys(): number[]; values(): T[]; } export class Collection<T> impleme

Typescript 如何检索不常见的数据

我有一个firebase数据库,带有“标记”树和“用户”树。每个用户都有一些关联的标记(在本例中称为首选项)。数据库结构是这样的: 我想在列表中显示,对于一个确定的用户,用户没有的所有首选项 Example: Tags: 1, 2, 3, 4 User has 1,3 I want to show in a list, 2 and 4! 我有一个代码可以正确显示用户拥有的所有首选项/标记,但我不知道如何显示用户没有的列表 这是我的代码,它显示了常见的首选项(非常好用) 我希望我正确地解释

Typescript 对象分解的特殊行为

我有以下资料: @Action( RsRosCoughUiUpdate ) rsRosCoughUiUpdate( { getState, patchState }: StateContext<IRs>, payload: IFormState ) { console.log( `classToPlain(payload) | ${JSON.stringify( classToPlain(payload) ) }` ) console.log('PAYLOAD

Typescript:es6map+;索引签名=无错误?

考虑到以下准则: const map = new Map<string, string>(); map['someKey'] = 'someValue'; const map=newmap(); map['someKey']='someValue'; 尽管映射定义没有索引签名(据我所知;事实上,在ES6中,它也没有文档记录),但它编译得很好。问题是什么?在这种情况下是否有可能强制执行错误?在tsconfig.json中,执行“strict”:true,设置“noImplicitA

Typescript 访问Foo中的类型T<;T>;

考虑一个类型foo=Observable 如何从中提取[String,Number]?这样,在TypeScript 2.8及更高版本中,类型栏==[String,Number],您可以通过以下方式完成此操作。语法如下所示: type InferObservable<T> = T extends Observable<infer U> ? U : never; type InferObservable=T扩展可观察?U:从来没有; 试试看: type foo = Obs

React Native with TypeScript:如何在setup.js中设置globals?

我正在用TypeScript构建一个React原生应用程序 我想用。在文档中说创建setup.js文件并添加 global.fetch = require("jest-fetch-mock"); 在里面。我做到了。但我得到了一个错误: [ts] Cannot compile namespaces when the '--isolatedModules' flag is provided. 所以我在谷歌上搜索发现,我只需要导入一些东西来解决这个问题,这很好,因为我需要导入来设置NativeMo

在TypeScript中,是否有安全的方法写入axiosResult.data.attendeeResults.username

除非出现严重错误,否则我希望我引用的JavaScript对象如下所示: axiosResult.data.attendeeResults.username 里面会有真实的数据。也就是说,定义了数据,定义了结果,定义了用户名。如果其中任何一个没有定义,我希望整个express能够安静地返回undefined,没有错误 如何在TypeScript中执行此操作?甚至只是EcmaScript 6?一种解决方案是使用 从正式的TypeScript发行说明: 函数processEntity(e?:Enti

避免导入声明冲突的Typescript编码约定

尝试执行以下操作时,TypeScript会出现错误 import*作为“路径”中的路径 让path=path.join(“a”、“b”、“c”) 因为导入声明与“路径”的本地声明冲突。 基本上有两种选择: 以其他名称导入路径模块 避免将path作为变量名 这似乎是一种常见的冲突。我不熟悉TypeScript中常见的编码约定。我想知道在标准编码约定中有没有建议如何处理这种冲突 特别是,如果选择选项1,是否有一种常见的模块重命名方案,如pathMod,mPath,m\u path,path\u m

Typescript 索引签名类型

我在尝试为以下内容编写类型时遇到问题: type Language='en'|'nl'; 接口缓存对象{ [键:字符串|数字|语言]:字符串; } 常量缓存:CacheObject={}; export const init=(dir:string):Promise=> fsPromises.readdir(dir).then(files=> 文件夹 .filter(files=>files.endsWith('.json')) .forEach(异步文件=>{ cache[file.slice

TypeScript:作为对象键的函数

出于合理的原因,我需要有一个在对象中具有键功能的对象,例如: function a() {} function b() {} const obj = { [a]: b } 这样做的原因是,我希望将函数a的值映射到函数b,并能够再次记住和删除映射 现在我想知道如何在TypeScript中为此编写打字。如果我这样做 type MapFunctions = { [key: Function]: Function }; 我将得到错误 但是我该如何为此编写类型?一个对象不能将函数引用作为键,但您

如何在TypeScript中将一个字符串拆分为两个变量?

我有一个字符串svchnssoqjr5kafygoh,,,Skyrim,我试图将第一个“字符串”放入一个变量,将“Skyrim”放入另一个变量,并删除“,,,” 我试过了 预期产出: str = 'SVchnsSoQQjr5kafygOh,,,Skyrim' strOne = 'SVchnsSoQQjr5kafygOh' strTwo = 'Skyrim' 斯普利特是你的朋友 console.log'svchnsoqjr5kafygoh,,,Skyrim'。拆分';记住:TypeScrip

如何在扩展JavaScript原型的TypeScript文件中导入库

使用中描述的技术,我试图在TypeScript项目中使用矩.js扩展Date原型 延长日期原型工程,如下所述: interface Date { myExtension: () => string; } if (!Date.prototype.myExtension) { Date.prototype.myExtension = function(): string { return 'some value derived from a date';

Typescript 使用声明合并细化类型

我使用的库具有如下界面: 接口Foo{ 元数据:{[k:string]:any} } 元数据对象是存储任意键和值的地方 我的应用程序总是填充这个对象的一部分,比如说它总是提供一个“title”属性 使用声明合并,我想全局地指定它。我认为这在Typescript中是不可能的,但我想确定一下 声明模块“我的库”{ 接口Foo{ 元数据:{ 标题:字符串, [k:字符串]:任何 } } } 这是无效的语法,但我很好奇是否有办法解决这个问题。我认为您必须修改库(即使用本地维护的打字版本)。我认为您必

Typescript 如何键入任意对象或其任何键作为方法参数

我一直在尝试键入递归序列化任意对象的输入方法。我使用了映射类型、泛型参数、递归类型(如JSON类型),但没有任何运气: 这就是我试图摆脱参数中的any的方法: 导出函数序列化(数据:任意){ 如果(数据===null){ 返回“”; } 如果(数据类型===‘对象’){ 让序列化数据=“”; for(Object.keys(data.sort()的常数k){ ddata+=k; 如果(数据[k]!==null){ serializedData+=序列化(数据[k]); } } 返回数据; } 返

Typescript 写入类型保护,将类型T缩小到数组<;K>;

我有一个javascript函数,用于检查是否有任何输入值是数组: function isArray<T, K>(value: T): value is Array<K> { return Array.isArray(value); } 函数isArray(值:T):值为数组{ 返回数组.isArray(值); } 如何将其正确转换为typescript泛型类型保护,以便它可以接受任何值并返回一些数组 最后,我希望Typescript理解以下代码: ... i

Typescript Docker在根部安装纱线导致tsc rootDir错误

我有一个节点项目,它是一个简单的服务器helloworld。在本地运行这一切都可以很好地编译和运行。然而,在Docker内部创建/opt/warn-v1.21.1文件夹时,会导致rootDir错误: error TS6059: File '/opt/yarn-v1.21.1/bin/yarn.js' is not under 'rootDir' '/opt/src'. 'rootDir' is expected to contain all source files. Dockerfile F

仅从typescript模块导入类定义

我有一个typescript文件,它定义并导出一个接口和实现该接口的任意数量的类。我想在另一个文件中,在不提前知道有多少类的情况下,导入所有类并为每个类调用一些静态方法 export interface MyInterface { // various non-static, instance-level behavior } export class MyClass1 implements MyInterface { static func1(): string { "Som

如何使TypeScript数组具有不同的子类型?

您声明数组中只有id为id属性的成员,但它们有更多字段。为了满足您的需要,我们可以使用联合运算符| let arr: Parent[] = [] let tmp_arr: (ChildA | ChildB)[] = []; arr = tmp_arr; tmp_arr.push({ id: 1, desc: "test" }); tmp_arr.push({ id: 2, eatable: false }); for (let child of arr) {

Typescript 环回4控制器省略<;T、 K>;

我在Loopback 4中给出了我的第一步,并且我一直在尝试按照教程的要求生成一个新的REST Api。 问题是,在创建了我的模型、数据库和存储库之后,我开始开发我的控制器类,遇到了文档中没有提到的一段代码 我已在下面发出信号: async createTodo( @requestBody({ content: { 'application/json': { schema: getModelSchemaRef(Todo, {title: '

Typescript Vue无法解析父文件夹中的index.Vue

我正试图仅使用path文件夹导入组件,但不断出现错误,无法找到模块'./components/layout/Navbar'.Vetur(2307) 下面是我如何导入组件的 import Navbar from "./components/layout/Navbar"; @Component({ components: { Navbar } }) vue.config.js const webpack = require("webpack"); module.exports

将TypeScript枚举的键分配给变量

我有以下字符串枚举: export enum ReportGraphTypes { OverallGraph = "Long description...", OverallByDateGraph = "....", MilageGraph = "....", FuelPricesGraph = "....", FuelConsumptionGraph = "...." } 然后我将枚举映射到select字段,并使用enum键作为值。 我希望将默认值传递

无法使用纱线并将mapbox导入typescript

我用 纱线添加——dev@types/mapbox gl@types/geojson 将mapbox和geojson添加到我的项目中。软件包安装成功,在我尝试导入mapboxgl时可见 我构建的东西如下所示: import * as L from 'mapbox-gl'; export class MapBuilder { build(): void { let map = new L.Map({ container: 'mapContaine

Ionic5&;Typescript-propper http请求:将获取承诺转换为可观测的?

我正在将我的Ionic3应用程序移植到Ionic5中,目前正在添加我的http请求。 在Ionic3中,我使用了angular/http,但似乎是这样。 这是我的代码,可观察到: this._http.get(requestURL) .map((result: Response) => { return this.run(result.json()) }); 现在,我如何使用Ionic5实现http不再存在的相同实现 Rx.Observable.f

typescript获取数组值的类型,如键的情况?

我能做到 const keys = { "hi": {name: "ho"} } type U = [keyof typeof keys][0]; // "hi" 我可以用数组值也这样做吗 const data = [ { name: "hi" } ]; type T = typeof data[0]["name"]; // string not "hi" 只需将作为常量添加到数据中即可: const数据=[ {name:“你好”} ]作为常量; 如果不将作为常量,数据将被

Typescript 酶find()和findWhere()之间有什么区别?

find()和findWhere()的返回有什么不同吗 我试图从我使用find()获得的组件中获取一个返回数组的道具,但后来我从TypeScript中获得了这个道具。该对象的类型为“unknown”。ts(2571) const wrapper=mount() 常量a=wrapper.find(“[name='componentName']”) expect(a.prop('someProp')[0].value).toBe('someValue')) 因此,我使用的不是wrapper.fin

在typescript中注释方法重写,以便于代码审查

typescript中是否有任何命名约定、代码段编辑、任何VS代码扩展或任何NPM库来标记到标记覆盖方法。它在进行代码审查时很有用 就像Java中的重写语法一样 @override << ###### SOMETHING like this ###### @public String toString(){ // your overridden code. return something; } 目前还没有override关键字或decorator,但您可以编写自己的d

为什么我的typescript导入与sinon不一致

我正在尝试从外部库中存根导入的方法。我可以让这种存根方法与内部库一起使用,外部库哪里出了问题 例如: 索引 index.test.ts import {expect} from 'chai'; import * as sinon from "sinon"; import 'mocha'; import {Index} from './index'; describe("index unit tests", async function () {

TypeScript:void返回类型是否转换为任何类型?

我似乎无法理解为什么以下代码不会引发错误: var rg: {(): void;}[] = []; rg.push(function():string {return "";}) 我清楚地指出,类型应该是一个返回void的函数数组,但是我在那里推送了一个返回字符串的函数,但是编译器没有抱怨。如果我将rg的定义更改为 var rg: {():number;}[] = []; 编译器开始抱怨 这是一个bug还是void返回类型的工作原理(即,如果使用了void,则一切正常,基本上与返回类型any

Typescript Webdriver.io tsconfig设置为使用绝对路径

我想知道,如果我正确地遵循了TS项目的设置,为什么wdio无法在TS项目中编译typescript: 我已经安装了depsts节点,typescript和tsconfig路径 Mytsconfig.json: { "compilerOptions": { "baseUrl": ".", "outDir": "build", "paths": {

如何从另一个脚本加载现有的typescript文件以提高性能?

我有一个TypeScript文件,在其中捕获DOM上发生的事件并将数据流发送到AWS Kinesis。我目前在HTML中使用该脚本进行测试 <script type="text/javascript" src="./tracker.ts?projectId=123&apiKey=trac3ab1e-50fa-50b5-dab5-acce55e5cafe"></script> tracker.ts有一个类tracker,在这

Typescript 从Firebase云函数调用Google Books API时出错500

我在一个使用Firebase的项目中调用GoogleBooksAPI,代码类似于 然而,我在生产方面遇到了一个问题。当我在本地尝试时,我可以连接到谷歌图书API没有问题,但它在生产过程中不断失败,出现500错误,我得到的唯一详细信息是: {"error":{"message":"INTERNAL","status":"INTERNAL"}} 你知道我应该在这里尝试什么吗?我已经在开发人员的控制台

Typescript 类属性为symbol时的防护类型?

我想为属性使用符号,但我意识到,因为我使用的是这个[SYM]语法,所以我无法让防护正常工作。我想知道是否有更好的语法来实现这一点 const SYM = Symbol('SYM'); class Example { [SYM]?: string; get prop(): string { if (this[SYM]) return this[SYM]; return 'default'; } } 然而,这是可行的: const SYM = Symbol('SYM')

对于编译时字段未知的对象,应该使用什么类型的typescript?

我有以下功能: const doSomething = (param: object) => { // path param to another function/library } 关键是我知道(并希望强制执行)param是一个对象,而不是原语类型。在typescript对象中此角色 然而,我注意到: const a: object = { test: 5 } console.log(a.test) 给出类型脚本错误:属性“test”在类型“object”上不存在。这是否意

上一页 1 2 ...  6   7   8   9    10   11   12  ... 下一页 最后一页 共 838 页