vue-class-component8-0
vue-class-component 8.0
vue-class-component8-0
vue-class-component 8.0
data
1
2
3
4
5
6
7
8
import {Vue} from 'vue-class-component';
export default class EquipmentListIndex extends Vue {
total = 0;
size = 10;
current = 1;
devicesId = 0; // 列表ID
}
或
1
2
3
4
5
6
7
8
9
10
11
12
import {Vue} from 'vue-class-component';
export default class EquipmentListIndex extends Vue {
data() {
return {
total = 0;
size = 10;
current = 1;
devicesId = 0; // 列表ID
}
}
}
Methods 属性
组件方法可以直接声明为类的原型方法:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<template>
<button v-on:click="hello">Click</button>
</template>
<script>
import {Vue} from 'vue-class-component'
export default class HelloWorld extends Vue {
hello() {
console.log('Hello World!')
}
}
</script>
Computed (计算属性)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<template>
<input v-model="name">
</template>
<script>
import {Vue} from 'vue-class-component'
export default class HelloWorld extends Vue {
firstName = 'John'
lastName = 'Doe'
// Declared as computed property getter
get name() {
return this.firstName + ' ' + this.lastName
}
// Declared as computed property setter
set name(value) {
const splitted = value.split(' ')
this.firstName = splitted[0]
this.lastName = splitted[1] || ''
}
}
</script>
watch - 监听
1
2
3
4
5
6
7
8
9
10
11
12
import {Options} from 'vue-class-component';
@Options({
watch: {
instCode: {
handler() {
this.resetForm();
this.getPages();
}
}
}
})
hooks
1
2
3
4
5
6
7
8
9
import {Vue} from 'vue-class-component';
export default class HelloWorld extends Vue {
// 所有Vue生命周期挂钩也可以直接声明为类原型方法,但是您不能在实例本身上调用它们。
// 声明自定义方法时,应避免使用这些保留名称。
mounted() {
console.log('mounted')
}
}
注册钩子
1
2
3
4
5
6
7
import {Vue} from 'vue-class-component';
Vue.registerHooks(['beforeRouteLeave']);
export default class HelloWorld extends Vue {
}
组件
1
2
3
4
5
6
7
8
import {Options} from 'vue-class-component';
@Options({
components: {
FillInfoDialog,
ChooseClassDialog
}
})
Props
1
2
3
4
5
6
7
8
9
10
11
import {Vue} from 'vue-class-component';
const GreetingProps = Vue.extend({
props: {
name: String
}
})
export default class Greeting extends GreetingProps {
}
本文由作者按照 CC BY 4.0 进行授权