“开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 三 天,点击查看活动详情”
vue父子组件通信
prop emit
前面的是传递给子组件的,后面是父组件对应的函数或变量。
this.$emit("sonAnswer", "我知道了");子组件向父组件传递sonAnswer,
父组件进行接收,@sonAnswer="sonAn",
组件间通信使用父组件进行传递,或者组件化子组件,
typescript与js区别
data的定义
export default在ts中会报错,
声明变量不需要专门放到data函数中,
可以直接变量 = ref()
,方法也不需要放method,当然vue3中方法函数。
进行数组访问时发现在ts中调用array对应的方法必须在数组名后加.value,相当于必须拿到对应数组值才可以对其进行处理。
而在vue中可以直接
this.obj.arr.push('baz')
在arr后直接push,ts中需要this.obj.arr.value.push('baz')
同样调用includes函数也需要加value,arr.value.includes(index)。
变量定义
与kotlin非常相似,都是可以在变量后面跟类型,
函数返回值类型也可以设定。
支持元组类型设定,一个变量可以是数组中规定的任意类型,有点类似java中泛型的感觉,
剩余参数...arr,这里的参数可以有任意多个,在kotlin中也有这样的语法糖。
判断是否为空,在变量后就可以。
const greet : string = "Hello World!"
接口化变量
在ts中会将props等组件间通信的变量编写interface.d.ts接口文件,类似于java中接口与实现类,
高度抽象化,分离
在vue中将ts的可以抽离对的都单另写到一个ts文件中,以及样式也单另抽离放入scss中,
在vue中只需要调用相应的ts,sass即可,引用相应的变量
使用体验
感觉Ts开发实时性比较强,静态编译,开发过程中语法错误能及时发出红色提示,代码也更加规范化。 ts中也有类、模块、接口