TS第二篇笔记(typora放太多笔记在同一个md文件里太卡了,干脆分为两篇):https://blog.csdn.net/weixin_51245887/article/details/124708170
一、什么是TypescriptJavaScript的超集,可以编译为JavaScript,添加了类型系统的JavaScript,可以适用与任何规模的项目。TypeScript特性类型系统从TypeScript的名字就可以看出来, [类型] 是其最核心的特性。我们知道,JavaScript是一门非常灵活的编程语言:它没有约束类型,一个变量可能初始化时是字符串类型,过一会又被赋值为数字类型由于隐式类型转化的存在,有的变量很难在运行前就确定基于原型的的面向对象编程,使得原型上的属性或方法可
Vue 3.0+Vite 2.0+Vue-Router4.0+Element-Plus+Echarts 5.0+Axios 开发的后台管理系统
Vue 3.0+Vite 2.0+Vue-Router4.0+Element-Plus+Echarts 5.0+Axios 开发的后台管理系统
Vue 3.0+Vite 2.0+Vue-Router4.0+Element-Plus+Echarts 5.0+Axios 开发的后台管理系统
Vue 3.0+Vite 2.0+Vue-Router4.0+Element-Plus+Echarts 5.0+Axios 开发的后台管理系统
Vue 3.0+Vite 2.0+Vue-Router4.0+Element-Plus+Echarts 5.0+Axios 开发的后台管理系统
Vue 3.0+Vite 2.0+Vue-Router4.0+Element-Plus+Echarts 5.0+Axios 开发的后台管理系统
Vue 3.0+Vite 2.0+Vue-Router4.0+Element-Plus+Echarts 5.0+Axios
vue3-element-plus-typescript
基于vue-cli / vite + vue3.0 + element-plus +打字稿+ mock数据的后台管理系统列表页增删改查功能
vue-cli版: :
vite版: :
系统模块数据是mock数据使用了Vue3.0全家桶,Element-plus和typescript,实践vue3.0的新特性以及vite打包工具,采用的是vue3.0的组成API,体验vue3和typescript以及打包工具vite等
列表页增删改改查
采用vue3 composition api
typescript在项目中运用,提供类型检查
模拟数据,支持网络查看
请求接口返回数据用typescript泛型约束
vue3-element-plus-typescript
yarn install
编译和热重装以进行开发
Vue3.0+TypeScript+Element-Plus编写的一套后台管理系统(兼容移动端),使用了最新的vue3 vite2 Element-Plus TypeScript等主流技术开发,开箱即用的中后台前端解决方案,也可用于学习参考。
Vue3.0+TypeScript+Element-Plus编写的一套后台管理系统(兼容移动端),使用了最新的vue3 vite2 Element-Plus TypeScript等主流技术开发,开箱即用的中后台前端解决方案,也可用于学习参考。
Vue3.0+TypeScript+Element-Plus编写的一套后台管理系统(兼容移动端),使用了最新的vue3 vite2 Element-Plus TypeScript等主流技术开发,开箱即用的中后台前端解决方案,也可用于学习参考。
Vue3.0+TypeScript+Element-Plus编写的一套后台管理系统(兼容移动端),使用了最新的vue3 vite2 Element-Plus TypeScript等主流技术开发,开箱即用的中后台前端解决方案,也可用于学习参考。
........
TypeScript语法错误:Argument of type ‘string‘ is not assignable to parameter of type ‘Element‘. 解决方法
TypeScript语法错误:
TS2345: Argument of type ‘string’ is not assignable to parameter of type ‘Element’.
类型"string"的参数不能赋给类型"Element"的参数。
报错内容以及对应代码:
报错的原因在于,该函数可接收的参数类型和实际接收的不匹配。
所以解决的方法是,将第二个参数转换成Element类型;或者更换另一种方法,插入元素的同时,还支持stri
TypeScript 是一种由微软开发的自由开源的编程语言,主要提供了类型系统和对 ES6的支持。它是JavaScript的一个超集,扩展了JavaScript的 语法,因此现有的 JavaScript 代码可与TypeScript 一起工作无需任何修改。
TypeScript 设计目标是开发大型应用,它可以编译成纯 JavaScript,编译出来的 JavaScript可以运行在任何浏览器上。 TypeScript 是 Angular2、vue3的开发语言
排查代码后发现, 只要将 .tsx 换成 .jsx 之后发现问题就不存在了。 于是将问题定位在了 TypeScript 上。
所以只需要将子组件接受的 props 和 state 的类型定位成 any 这个问题就可以解决。
在这篇文章中将记录我遇到的ts错误,应该会持续更新。有时候从错误点入手学习似乎是一个不错的选择,所以也欢迎你私信我一些ts的问题。函数返回元组的时候,在使用的时候,元素可能是元组中的任意一个类型,比如:所以,在对返回的元组进行取值操作时,返回值内的类型顺序,可能和函数内的顺序不一致,需要多加一个条件判断:
在这个报错案例中,第四行的判断也是很重要的知识点,面对联合类型传参的情况,我们常常需要通过类型判断来决定最后要执行哪个方法:
二、类型 “string” 到类型 “number” 的转换可能是错误的ts(
在Vue 3.0中,使用`defineEmits`来定义组件的emits选项,而不是在组件中直接声明`emits`选项。
如果您想手动触发一个事件,可以使用`$emit`方法。例如,如果您有一个名为`myEvent`的事件,您可以在组件方法中使用`this.$emit('myEvent', data)`来手动触发它。
以下是一个示例组件,展示如何在Vue 3.0中使用`defineEmits`和`$emit`:
```typescript
import { defineComponent } from 'vue';
export default defineComponent({
emits: ['myEvent'],
methods: {
handleClick() {
// 在此处手动触发myEvent事件
this.$emit('myEvent', { eventData: 'example data' });
template: `
<button @click="handleClick">Click me</button>
请注意,在组件中使用`this.$emit`之前,必须将事件名称添加到`emits`选项中。