Vue实例的对象参数options的几个常用选项详解

2020-06-12 21:07:23易采站长站整理

一. 新建一个Vue实例可以有下列两种方式:

1.new一个实例


var app= new Vue({
el:'#todo-app', // 挂载元素
data:{ // 在.vue组件中data是一个函数,要写成data () {}这种方式
items:['item 1','item 2','item 3'],
todo:''
},
methods:{ // 方法成员
rm:function(i){
this.items.splice(i,1)
}
}
})
// 之后再

export default app // 默认输出,可在其他组件引用

2. 直接


export default {
name: '',
components: {},
data: () {}, // data函数成员
watch: {}, // watch监视成员
computed: {}, // computed计算成员
created: function () {},
methods: {}, // methods对象成员
actions: {}
}

二. Vue实例,我参数options。它是一个对象。可以选择如下选项:

data函数成员

methods对象成员

模板template

挂载元素el

生命周期钩子

props属性声明

computed计算成员

watch监视成员

选项:watch监视

watch监视是一个对象,键是需要观察的表达式,值可以是

1.回调函数,

2.值也可以是方法名,

3.或者包含选项的对象。

ps:表达式暂时可以理解为一个可以得到值的式子

Ⅰ回调函数,来监视一个值的变化(监视data函数体的变量)

如:


data () {
return {
replaceList: [] }
},
watch: {
replaceList: function (val, oldVal) {
console.log('replaceList changed')
}
}

Ⅱ第2种形式:”值也可以是方法名“,可以把watch的函数移到methods内。

则上面的形式可以改为:


data () {
return {
replaceList: [] }
},
watch: {
replaceList: 'changed'
},
methods: {
changed: function (val, oldVal) {
console.log('replaceList changed')
}
}

Ⅲ包含选项的对象

如:上面两种就等同于


data () {
rerurn {
replaceList: 1
}
},
mounted: function () {
this.$watch('replaceList',function(val, oldVal){
console.log('replaceList changed')
})
},
methods: {

}

选项:computed计算成员

虽然在Mustache语法内可以使用表达式,即{{}}。比如为数字前加入¥符号,可以使用表达式:


{{‘¥'+money}}

可以,但不推荐。这种情形应尽量用计算成员:

在vue-cli脚手架的.vue组件中