1.Typescript中的as、问号与感叹号
as和!用于属性的读取,都可以缩小类型检查范围,都做判空用途时是等价的。只是!具体用于告知编译器此值不可能为空值(null和undefined),而as不限于此。 ?可用于属性的定义和读取,读取时告诉编译器此值可能为空值(null和undefined),需要做判断。
2.类型声明
type:进行对象整体声明 as:进行断言声明 data:[] as RecordItem[]
3.TypeScript中使用mixin
当同一段操作代码需要多处使用时,采用mixins 步骤 1.使用mixins要使用官方库:vue-class-component ——之前一直使用的是第三方 Vue 支持 TypeScript 的库, 2.直接把mixin声明成组件 ——src/mixins/TagHelper.ts 3.使用:继承(extend)从 vue 变成 mixins,括号内写声明的组件名 代码案例——声明 1.声明mixins组件:Hello 2.实际中直接:src/mixins/TagHelper.ts ——文件名就是组件名
import Vue from 'vue'
import Component from 'vue-class-component'
@Component
export class Hello extends Vue {
hello = 'Hello'
}
export default Hello
代码——使用 1.vue变成mixins 2.里面可以直接使用组件
export class HelloWorld extends mixins ( Hello, World) {
created ( ) {
console. log ( this . hello + ' ' + this . world + '!' )
}
}