有没有一种方法可以使用typescript动态地向类添加方法?

我正在尝试创建某种mixin方法,可以动态地将方法添加到原型/类中,但会出现以下错误: 类型为“Greeter”的值上不存在属性“greetName” 任何 及 类型为“Greeter”的值上不存在属性“greetName” 任何 当我运行以下代码时 class Greeter { greeting: string; constructor (message: string) { this.greeting = message; } greet()

可以在TypeScript接口中使用getter/setter吗?

我想定义一个具有只读属性的接口。比如, interface foo { get bar():bool; } 但是,这会在条上出现语法错误“应为“;”。我已将VisualStudio设置为使用ES5目标,因此支持getter。这是接口的限制吗?这可能会在未来发生变化;这是一件非常好的事情。是的,这是对接口的限制。是否使用getter实现对属性的访问是一个实现细节,因此不应该是公共接口的一部分。另见 如果需要在接口中指定只读属性,可以添加getter方法: interface foo {

Typescript ViewEncapsulation.Native、ViewEncapsulation.None和ViewEncapsulation.Emulated之间的差异

有人能解释一下视图封装.Native、视图封装.None和视图封装.angular2中模拟的之间的区别吗 我试着用谷歌搜索它,读了一些文章,但我无法理解其中的区别 下面我有两个组件Home(Home.ts),即父组件和MyComp(我的comp.ts)。我想在父组件中定义在子组件中使用的样式 我应该使用视图封装.Native还是视图封装.None home.ts 从'angular2/core'导入{组件,视图封装}; 从“/my comp”导入{MyComp}; @组成部分({ 选择器:'主'

Ionic2/Angular2/TypeScript:如何访问函数中的DOM元素

对于: Angular2+Ionic2+TypeScript. 所以考虑到下面的情况 Q)如何访问sign()函数中的sketchElement Settings.ts模板: 签名 My settings.ts类: @Page({ templateUrl:'build/pages/settings/settings.html' }) 导出类设置页面{ private currentUser:User={}; 私有注销:布尔值=false; private-currentConnection:

Typescript 我们如何实现日历?

如何使用typescript在Angular2中实现日历?我们有任何要导入的指令吗?Priming提供了日期选择器,但是目前为止(据我所知),Angular2中没有内置的日历组件(如ui日历)Priming有一个用于Angular2的日历组件。

Typescript 接口为类型的数组(接口多态性)

我试图创建一个对象数组,其中所有对象都实现了接口Foo。下面是一个简化的示例来演示该问题: interface Foo { fooAction(): any; } class Bar implements Foo { public fooAction() { return "nothing important"; } } let arrayThatINeed : Foo[] = [Bar]; // Type error: Type Bar

Typescript NativeScript+;角度2+;第三方Java库

今天我开始学习nativescript。我正在尝试构建简单的ng2应用程序,它将使用第三方java库。我正试图在这里实现类似的目标 但我总是会犯一些未定义的错误 我在ts代码中访问java没有问题: import app = require("application"); import platform = require("platform"); declare var java; ....... public get message(): string { var str

Typescript 角形2钩

在angular 2中的ngOnInit()之后调用了哪个函数?我想在ngOnInit()完成后调用函数。我是新来的。在这种情况下,请帮助我做什么是最好的;您可以使用哪个生命周期挂钩,这取决于您的用例 ngAfterContentInit 组件有一个生命周期。你应该在这里查一下- 或 如果要调用任何自定义函数,可以在ngOnInit函数末尾调用它,如下所示 ngOnInit(){ ... this.fun(); } fun() { ... } 您的问题的答案是:`ngDoChec

我能用Typescript写一个cast操作符吗?

我使用JSWEET来传输一个大型Java项目。它将枚举等类型直接转换为TypeScript中的枚举 在Java世界中,可以将数组对象[]分配给枚举 在Typescript中,我得到:类型“any[]”不能分配给类型“Enumeration” 是否有方法扩展枚举或任何[],使TypeScript允许进行此赋值?您可以用两种不同的方式强制转换: var doSomething = function <T>(a: Enumeration<T>) { }; var x: Obje

在TypeScript箭头函数中指定返回类型

我使用React和Redux,并将动作类型指定为接口,这样我的还原程序就可以利用标记的联合类型来提高类型安全性 我有如下类型声明: interface AddTodoAction { type: "ADD_TODO", text: string }; interface DeleteTodoAction { type: "DELETE_TODO", id: number } type TodoAction = AddTodoAction | DeleteTod

不带角度理解TypeScript和SystemJS

最近,我一直在用TypeScript研究和制作简单的“hello worlds”。有一件事我想我无法理解,那就是如何将System.js与TypeScript结合使用。互联网上的每一个教程或演示都是关于Angular2的,我现在还不想涉及Angular2 例如,我有以下项目结构: RootFolder | | _lib | ...... ts (where .ts files are) | | components (where compiled .js files are) | librar

Typescript 茉莉花的评价不等于0-0

我在Typescript中进行了一个测试,比较了两个对象,结果显示: Chrome 57.0.2987 (Mac OS X 10.12.4) Hex should round 1 FAILED Expected Hex({ q: 0, r: 0, s: -0 }) to equal Hex({ q: 0, r: -0, s: 0 }). 茉莉花中-0的值怎么可能不等于0?我唯一能想到的是它正在转换为字符串 it ('should verify 0 === -0', () =>

Typescript 导航失败:无法读取属性';液化天然气';错误:未捕获(承诺中):类型错误:无法读取属性';液化天然气';未定义的

我想根据服务中的位置信息显示位置地图。我正确地获取了位置信息。但是我在html中遇到了一个未定义的错误。我在哪里会出错 Map.html <ion-header> <ion-navbar> <ion-title>Map</ion-title> </ion-navbar> </ion-header> <ion-content> <sebm-google-map id="m

Typescript 在Ionic 3中,如何调用选项卡类中的方法?

我正在编写一个Ionic应用程序,它有一个“主页”,有3个选项卡。我试图通过在搜索词更改时在所选选项卡的类中调用一个方法,使这些选项卡的搜索栏可用。这是主页: <ion-header> <ion-navbar> <ion-title>{{title}}</ion-title> <ion-buttons end> <button [hidden]="title != '

属性返回未定义的typescript

为什么会这样: class T { test: "print me" } const t = new T(); document.write(t.test); 返回未定义?如何打印“打印我” 声明类型为“print me”(即变量唯一允许的值是“print me”)的属性test,但它不会初始化它 你想要 test = "print me"; 它声明并初始化一个值为“print me”的属性。编译器将其类型推断为string test = "print me";

TypeScript:从判别并集派生映射

我有一个区分的联合类型,它根据字符串文本字段区分类型。我想派生一个映射类型,将联合中的所有类型映射到它们相应的鉴别器文本值 e、 g 导出类型获取={ 键入:“fetch”, 数据类型:字符串 }; 获取的导出类型={ 类型:“已获取”, 值:T }; //在“type”属性上区分的联合类型 导出类型操作= |取回 |获取; //这将生成类型“fetch”|“fetched” //从类型 类型动作=动作['type']; //我想生成一个将鉴别器值映射到类型的映射类型 //包含联合类型,但以类似

Typescript 无法使用Office JS删除Word中的嵌套内容控件

我正在使用Office JS编写一个Word插件。我创建了一个Word文档,其结构如下: <OuterContentControl tag="Outer" cannotDelete> <InnerContentControl tag="Inner" cannotDelete /> </OuterContentControl> 当对内部内容控件调用.delete时,我会得到一个一般异常,但对于外部内容控件,它是有效的。我是否需要做一些不同的事情来允许删

Typescript 使用emailcomposer和html及超链接发送电子邮件

我想通过ionic的“emailcomposer”组件发送电子邮件,但在进入gmail应用程序时,它会删除超链接,我想知道是否有人知道该表单,以便不会删除这些超链接 要传递HTML正文,您需要在电子邮件中使用isHtml属性,如下所示 let email = { to: 'test@test.com', cc: 'cc@rtest.com', subject: 'Test mail with HTML body', body: '<a href='http://www.go

Typescript:语法错误。意外标记

我正在尝试将.ts文件作为控制台应用程序启动。 在将.ts文件转换为.js(通过tsc)后,没有出现任何错误,但我无法使用ts节点启动.ts文件,因为存在以下问题: “SyntaxError:意外标记…” 我的tsconfig.json文件是 { "compilerOptions": { "target": "es6", "module": "commonjs", "strict": true, "esModuleInterpop": rue } }

如何在typescript中解析类getter方法中的承诺

我有两个类,其中我使用async/await函数从产品类获取产品 export default class Products { async getProducts() : Promise<[]> { return await import('../data/products.json'); } } export default class App { render() { this.products = new Products

Typescript &引用;Highcarts未定义错误“;安装highcharts后

我正在angular5中使用ng2 Highchartsnpm包实现Highcharts。但没有定义highcharts是一个错误 我有一个angular5项目,其中我正在实施Highcharts并使用“angular2 Highcharts”npm包。但这是一个错误 Highcharts未在新的AppComponent中定义 这是我的密码 我正在实现这个示例。应该是这样的 看起来你少了一些东西 您缺少导入npm i angular2高图表 您的实现方式是错误的,您需要定义图表组件,该组件在中

Typescript 如何在firestore中更新文档的字段?

我想在不获取整个文档的情况下更新firestore文档中的字段。有人能帮我吗?Firestore文档显示了更新文档中字段的示例: 正如您将注意到的,此代码最初并不加载文档。要做到这一点,您必须知道要在上述示例代码中更新DC的文档ID。文档提供了如何更新文档的示例,但由于您没有说明您正在进行哪种更新,因此无法确定是否可以避免先获取文档。 var washingtonRef = db.collection("cities").doc("DC"); // Set the "capital" fiel

如何在TypeScript中获取当前日期和时间

摘要 我正在TypeScript中为VSCode创建第一个扩展名,并希望创建一条新的信息消息来显示当前日期/时间 我尝试过的 我尝试在vscode键绑定列表中查找一些数据/时间关键字。我还试着在Google上寻找一个函数来获取系统日期/时间,结果却遇到了一些解释数据/时间语法以及如何显示特定日期/时间的解决方案,但没有找到获取当前数据/时间的方法。我也在VSCODEAPI文档中查找过它 代码部分 据我所知,代码应该位于激活部分的扩展名.ts文件中,我在该部分注册了执行showInformatio

Typescript 从函数数组中创建一个返回类型的元组类型,这样我们就可以用该元组类型强制转换“map”的结果

在回答这个问题时,我可以跨越这个难题 我们有以下三项职能: const func1=():RegExp=>{throw new Error();} const func2=():number=>{throw new Error();} 常量func3=():日期=>{throw new Error();} 常量funcs=[func1,func2,func3]作为常量; 我们希望在该funcs数组上运行map,调用每个func,并在返回值的结果数组中维护类型安全性 这项工作: 类型结果=[ 返

Typescript 如何在angular 2+;使用反应形式

我有一个包含问题的数组。我必须阅读它并动态显示问题。所以我有一些与之相关的问题 1) 我不知道如何将控制器初始化为FormBuilder实例 2) 如何动态创建问题 3) 如何动态添加验证 我用angular 8创建了这个项目 我在调查中主要有4类问题 MCQ(只需选择一个答案) 多选(用户可以选择多个答案) 排名问题(用户必须给出正确的答案顺序) 描述性(用户可以给出自己的答案) 这是我的问题列表 questions: any = [ { id: 11, surveyNo: 5,

Typescript 如何声明具有任意字符串键的类型化对象-缺少索引签名?

我需要声明一个对象,该对象具有任意字符串键和number或string类型的值,即类似于中的值 所以我写了 interface AnyObjectWithNumberAndStringValues { [s: string]: number | string; } 和一个测试函数 function f(x: AnyObjectWithNumberAndStringValues) { console.log(x); } 这是一种工作。我可以打电话 f({ id: 123, name:

Typescript 部分检查中的道具,但仍未定义?

我使用的是Typescript 3.7.2,但在早期的Typescript版本中也会出现这种情况。所有的支票都是开着的 我有一个小代码: 接口测试{ 一是布尔型; 二是布尔型; } 函数getPropOrFalse(someTest:Partial,prop:keyof Test):布尔{ 如果(在某个测试中支持){ 常量值=某些测试[prop]; 返回值;//我不完全确定TypeScript如何使用中的运算符进行类型检查,但如果您想要为未定义的使用类型保护,则应使用类型保护: const va

如何使TypeScript推断动态new()调用的类型

我正在动态创建子类,我希望工厂函数知道子类的返回类型 我可以用石膏做,但我想知道是否有一种不用石膏就可以推断出来的方法 class Hello { a = 1; } class Hello2 extends Hello{ b = 2; } class Hello3 extends Hello { c = 3; } function create<T extends typeof Hello>(ctor: T): InstanceType<T>

Typescript Jest.js:在Jest中返回为{}的布尔返回值

在下面的返回之前,我记录了false的预期值,这让我很困惑,因为我不知道{}是从哪里来的。有人知道原因吗 FAIL functions/src/classes/__tests__/ScriptTag.test.ts constructor ✕ exists() returns false for no matching scriptTag from fake fetch (13ms) ● constructor › exists() returns false for no

TypeScript编译器API函数,可检查类是否实现接口

我想检查文件a.ts的ClassDeclaration是否使用从文件b.ts实现InterfaceDeclaration。但我找不到它的方法或函数 function isClassImplementInterface( ts.ClassDeclaration: classDeclaration, ts.InterfaceDeclaration: interfaceDeclaration ): boolean { // return true if classDeclaration i

Typescript 接受每个对象接口的类型脚本

我有多个函数,它们得到相同的类型,但返回不同类型的接口。 我想为这些函数创建一个类型,但在编写时: 常量f:arg:number=>Object=func 我得到一个错误:类型arg:number=>SomeInterface不可分配给类型arg:number=>Object 我可以只使用arg:number=>任何一个,但我有点违背了键入它的全部目的。 我只想让它接受所有对象,而不仅仅是一个特定的接口,因为我有很多 例如,我正在实施通信协议: interface splPacket {

Typescript 类型为'的参数;字符串|数字';不可分配给类型为';编号';

最后用示例方法修改问题:- 我有一个界面,如下所示,用于键入对象 export interface IList{ name: string; age: number; option: number; quantity: number; priority: number; } 由于某些要求,我必须在所有操作结束时为“priority”属性分配一个“string”,然后再将其发送到后端 由于要分配字符串,我尝试使用union运算符:- 优先级:数字|字符串; 但是,我使用其他操

在typescript中扩展类与代码复制

有人能解释一下为什么我要扩展一个类,而不是让参数成为可选的吗?如果我想扩展我的类,我只需要复制大部分代码。干燥原理如何应用于此 例如: class Example { constructor( public id: number, public name:string, public type: string, public extra?: string // this one is not there when you would extend ) {} } vs: 为什么需要在子类中重

Typescript 为接口实现泛型类型';s函数性质

在redux devtools扩展中,我想实现接口增强功能,它包含以下函数属性(或方法,或在涉及接口时应参考的方式): 实际上是否可以从实现而不是在使用时提供S的类型,如: options.satetSanitizer<MyState>(state, index); options.satetSanitizer(状态,索引); 我应该如何实现这样的接口,因为为了让它真正有用,StateSanizer接收的函数应该根据我的状态的形状进行操作,正如您在state.data中看到的那样

Typescript 类型脚本参数相互依赖

我不明白下面的错误 下面是一个最小的可复制示例,带有错误消息 类型LeftChild={ 元素:0 } 类型RightChild={ 要素:1 } 类型左={ 孩子:左孩子 } 类型权限={ 孩子:对孩子 } 接口类型{ “左”:{ 家长:左 孩子:左孩子 } “对”:{ 家长:对 孩子:对孩子 } } 函数foo(父:打字[T][“父”][],子:打字[T][“子”]){ //工作 父项[0]。子项=子项 //不起作用 parents.push({child}) /* ^^

Typescript 打字脚本,don';不要使用泛型丢失类型信息

在下面的代码中,DataBankService类上的getValue方法正在丢失类型信息(参见示例)。是否可以保留类型信息 从“rxjs/”导入{Subject}; 导出接口数据对象{ 值:T; 可观察:主体; } 导出类数据库服务{ 私有数据库:数据库属性; 构造函数(){ this.dataBank=新数据库属性(); } 公共getValue(属性:T){ 返回此.dataBank[property].value; } } 类数据库属性{ money:DataObject=this.cr

如何向Typescript中导入的库模块添加新方法/属性?

我是TypeScript新手,我想知道向导入的库模块添加新方法/属性的正确方法 我使用外部库Telegraf()来构建一个bot 这是我的密码: const bot = new Telegraf(process.env.BOT_TOKEN); bot.context.db = { getUser: (data: any) => { User.findByTelegramIdOrCreate(data); }, }; bot.on('text', (ctx) => {

Typescript 查看嵌套把手部分文件的更改

使用as视图引擎,可以配置要监视更改的文件夹。默认手表基于tsc 每次我创建或编辑部分hbs文件时,都不会触发渐进编译。我使用了neststart--watch进行开发。在自述页面底部找到了一个解决方案 包裹 如果Nest在谈到使用hbs时能在他们的文档中一起提到这一点,我会节省很多时间

如何将Typescript类型定义为字符串字典,但只有一个数字;id";财产

现有JavaScript代码具有“记录”,其中id为数字,其他属性为字符串。 正在尝试定义此类型: type t = { id: number; [key:string]: string } 如果您试图创建接口,则给出错误2411 id类型编号不可分配给字符串,如 导出接口t{ 身份证号码:, 关键字:字符串 } 应该做到这一点。您得到了这个错误,因为您已将其声明为可索引类型(ref:),而字符串是键类型,因此id作为数字与该声明不符 在这里很难猜测您的意图,但您可能想要这样的

将createContext和useReducer与typescript一起使用时,无法将对象状态和分派传递给提供程序

我正在尝试使用contextApi和钩子实现类似于redux的行为,但是我在使用typescript时遇到了一些问题 我希望提供应用程序的状态和分派,以便能够从组件中访问和修改存储。问题是,当我使用createContext时,我手头上仍然没有状态和分派对象,因为我只能在React组件中调用useReducer。因此,我只能调用createContext,声明参数的类型为any,以便在该点传递null,然后传递另一个分派和状态 import React, { createContext,

Typescript 创建一个允许接口中有一个成员的类型

我使用的是Typescript 3.9.x 假设我有一个界面: 接口mytype{ 福:福 酒吧:酒吧 巴兹:巴兹 } 我想实现一个OnlyOneOfType类型,该类型只允许接口中的一个成员 以便: const test1:OnlyOneOfType={foo:'foo'};//通行证 常量test2:OnlyOneOfType={bar:'bar'};//通行证 常量test3:OnlyOneOfType={foo:'foo',bar:'bar'};//失败 你是说这种类型吗 type R

Vue js,使用TypeScript从Vue中的表单获取数据

我目前正在尝试使用typescript从Vue中的表单获取数据,但当声明我将使用的数据时,这些数据会被发布到字段中,我不知道如何更正,因为没有人将Vue与typescript一起单独使用,所以我无法找到解决方案。这是组件的代码,我非常感谢您提供有关如何使用该组件的帮助停止此操作或以其他方式声明数据 <form class="container" id="help-form" @submit.prevent="postForm"

Typescript 当应用程序打开时收到OneSignal通知,但在ionic 5 Android 10中关闭时未收到

离子型: Ionic CLI:5.4.16(C:\Users\Shaqeeba\AppData\Roaming\npm\node\U modules\Ionic) 离子骨架:@Ionic/angular 5.5.0 @角度开发套件/构建角度:0.901.12 @角度devkit/示意图:9.1.12 @角度/cli:9.1.13 @离子/角度工具包:2.3.3 科尔多瓦: Cordova CLI:8.1.1(Cordova-lib@8.1.0) Cordova平台:安卓7.1.4 Cordova

  1    2   3   4   5   6  ... 下一页 最后一页 共 348 页