相关文章推荐
强悍的海龟  ·  jsx/tsx使用cssModule和typ ...·  1 周前    · 
虚心的豌豆  ·  TypeScript ...·  1 周前    · 
热心肠的茶叶  ·  Linux USB device ...·  11 月前    · 
销魂的大白菜  ·  3.Django中创建app && ...·  1 年前    · 
性感的硬币  ·  Android ...·  1 年前    · 
大鼻子的手链  ·  Elasticsearch ...·  1 年前    · 

TypeScript语法错误:

TS2345: Argument of type ‘string’ is not assignable to parameter of type ‘Element’.

类型"string"的参数不能赋给类型"Element"的参数。

报错内容以及对应代码:

报错的原因在于,该函数可接收的参数类型和实际接收的不匹配。
所以解决的方法是,将第二个参数转换成Element类型;或者更换另一种方法,插入元素的同时,还支持string类型的参数传入。

1. 将第二个参数转换成Element类型

先用 createElement 方法创建元素后再插入元素。

let newDiv: HTMLElement = document.createElement("div");
this.element.insertAdjacentElement("beforeend", newDiv);

2. 更换成另外一种插入方法

insertAdjacentHTML,这个方法的第二个参数为string类型,并且实现的效果相同。

this.element.insertAdjacentHTML("beforeend", "<div></div>");

使用以上一种方法后,ts检查的时候就不会报错。

TypeScript语法错误:Argument of type ‘string‘ is not assignable to parameter of type ‘Element‘. 解决方法 问题描述DOM插入元素节点报错。TypeScript语法错误:TS2345: Argument of type ‘string’ is not assignable to parameter of type ‘Element’.类型"string"的参数不能赋给类型"Element"的参数。报错内容以及对应代码:解决方法报错的原因在于,该函数可接收的参数类型和实际接收的不匹配。所以解决的方法是,将第二个参数转换成Element类型;或者更换另一种方法,插入元素的同时,还支持stri 双精度 64 位浮点值。它可以用来表示整数和分数。 let binaryLiteral: number = 0b1010; // 二进制 let octalLiteral: number = 0o744; // 八进制 let decLiteral: number = 6; // 十进制 let hexLiteral: number = 0xf00d; // 十六进制
在我用react + typescript写项目的时候,ts总会报一些类型的错误,比如下图的错误:Typestring | string[]’ is not assignable to typestring | undefined’. 在我确定我的类型是正确的情况下不理解为啥报这样一个错,在网上找了很久,就是加类型断言,解决方法如下图:(值 as 类型) 这样就不会报错拉。 关于typescript类型断言,整理知识点如下: typescript很强大,但是用不好时也会很头痛,开发遇到类型错误的
byte类型的范围是0~255转换为二进制是00000000~11111111 ---------------------------------------------------------- C#中对byte类型的处理还是很特殊的。下面用几行简单的代码来说明问题byte x=1;byte y=2;byte z=x+y; //error:无法将int类型转换为byte类型1.可...
最近在对接谷歌的localhomeSDK,详情看这里https://aijishu.com/a/1060000000011433,【后续对接完成会写一篇踩坑的血泪史==】应用他们的sdk需要的语言可用js或者ts,因为他们sdk的demo为ts,无奈又要去学ts, 作为一个渣渣,对接,踩坑,语言,踩坑,测试,踩坑,至今还在坑里。。。 ts语言,之前没什么了解,就在菜鸟教程看了他的语法,就开始了,初生牛犊不怕虎哈哈哈哈,前面还好,跟着菜鸟教程查阅就好,下发指令对接时候吗,就gg了。 按照js写法声明结构体,数
TypeError: ‘required’ is an invalid argument for positionals 的解决方法 当我在使用argparse模块时,遇到了如下错误: import argparse parser = argparse.ArgumentParser(description = 'debug_example') parser.add_argument ('--data_root', default = 'data/path', type = str, required=False, help = 'the dataset path') parser.add_ar
tsconfig.json TypeScript编译选项 target必须设置为'es6' / 'es2015'或更高。 experimentalDecorators emitDecoratorMetadata和emitDecoratorMetadata应该都启用。 yarn add clime npm install clime --save 这是一个基本示例,一个入口文件(通常不会随时间变化很多)和一个命令: src / cli.ts #!/usr/bin/env node import * as Path from 'path' ; import { CLI , Shim } from 'clime' ; // The second parameter is the path
用了 TypeScript 之后,我们就可以声明类型,然后给 js 变量加上这个类型。 也会做类型检查,但也不是所有的变量都要手动声明类型,因为 ts 会做自动类型推导,同样是有类型提示和检查的,而且推导的时候还可以加上 as const,这样推导出的是字面量类型(不过会有 readonly 的修饰),那问题来了,什么时候手动声明类型,什么时候用自动推导呢? 比如 obj,b 属性推导出的是 string,但其实也可能是一个 number。但给它赋值 number 会报错,这种就得手动声明类型了。还有,函数的参数,只有调用的时候才能知道参数具体的类型,这时候怎么自动推导? 没办法推导。 所以也得手动声明类型。总之,ts 代码包括自动推导出的类型、手动声明的类型两种。 自动类型推导省去了很多写类型的麻烦,但很多情况下还是要手动声明类型的。 但手动声明的类型是有局限性的。
TypeScript语法错误:Argument of type ‘string‘ is not assignable to parameter of type ‘Element‘. 解决方法 20868 Freemarker异常:freemarker.template.TemplateNotFoundException: Template not found for name “xxx.ftl“. 10930
Nodejs 连接数据库报错:Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol oliver666666: msq8.0.31,可以用 使用sklearn出现错误:ValueError: Expected 2D array, got 1D array instead 解决方法 weixin_45103236: 怎么判断是单样本多特征还是多样本单特征 Nodejs 连接数据库报错:Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol John是橘红: 可能看版本,我的版本MySQL8 Nodejs 连接数据库报错:Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol 舞动の灵魂: 输入完问题更严重,裂开 使用sklearn出现错误:ValueError: Expected 2D array, got 1D array instead 解决方法 John是橘红: 哪个数组是一维的,就往哪个数据上加