Vue實(shí)例的對象參數(shù)options的幾個常用選項(xiàng)詳解
一. 新建一個Vue實(shí)例可以有下列兩種方式:
1.new一個實(shí)例
var app= new Vue({
el:'#todo-app', // 掛載元素
data:{ // 在.vue組件中data是一個函數(shù),要寫成data () {}這種方式
items:['item 1','item 2','item 3'],
todo:''
},
methods:{ // 方法成員
rm:function(i){
this.items.splice(i,1)
}
}
})
// 之后再
export default app // 默認(rèn)輸出,可在其他組件引用
2. 直接
export default {
name: '',
components: {},
data: () {}, // data函數(shù)成員
watch: {}, // watch監(jiān)視成員
computed: {}, // computed計算成員
created: function () {},
methods: {}, // methods對象成員
actions: {}
}
二. Vue實(shí)例,我參數(shù)options。它是一個對象??梢赃x擇如下選項(xiàng):
data函數(shù)成員
methods對象成員
模板template
掛載元素el
生命周期鉤子
props屬性聲明
computed計算成員
watch監(jiān)視成員
選項(xiàng):watch監(jiān)視
watch監(jiān)視是一個對象,鍵是需要觀察的表達(dá)式,值可以是
1.回調(diào)函數(shù),
2.值也可以是方法名,
3.或者包含選項(xiàng)的對象。
ps:表達(dá)式暫時可以理解為一個可以得到值的式子
Ⅰ回調(diào)函數(shù),來監(jiān)視一個值的變化(監(jiān)視data函數(shù)體的變量)
如:
data () {
return {
replaceList: []
}
},
watch: {
replaceList: function (val, oldVal) {
console.log('replaceList changed')
}
}
Ⅱ第2種形式:”值也可以是方法名“,可以把watch的函數(shù)移到methods內(nèi)。
則上面的形式可以改為:
data () {
return {
replaceList: []
}
},
watch: {
replaceList: 'changed'
},
methods: {
changed: function (val, oldVal) {
console.log('replaceList changed')
}
}
Ⅲ包含選項(xiàng)的對象
如:上面兩種就等同于
data () {
rerurn {
replaceList: 1
}
},
mounted: function () {
this.$watch('replaceList',function(val, oldVal){
console.log('replaceList changed')
})
},
methods: {
}
選項(xiàng):computed計算成員
雖然在Mustache語法內(nèi)可以使用表達(dá)式,即{{}}。比如為數(shù)字前加入¥符號,可以使用表達(dá)式:
{{‘¥'+money}}
可以,但不推薦。這種情形應(yīng)盡量用計算成員:
在vue-cli腳手架的.vue組件中
實(shí)現(xiàn)RMB前加上美元符號
<template>
<input v-model="money"> // 響應(yīng)式的
<span>{{RMB}}</span> // {{}}中可以是變量,也可以是方法名
</template>
<script>
data () {
rerurn {}
},
computed: {
RMB: function () {
return '¥'+ this.money
}
}
</script>
引入了計算成員RMB來做長表達(dá)式的計算,而在HTML內(nèi)保持清晰的字段引用即可。這樣做依然可以享有響應(yīng)式編程的好處:當(dāng)money值改變時,引用RMB的標(biāo)簽值也會被自動更新。
以上這篇Vue實(shí)例的對象參數(shù)options的幾個常用選項(xiàng)詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Vue計算屬性與監(jiān)視屬性實(shí)現(xiàn)方法詳解
最近在學(xué)習(xí)vue,學(xué)習(xí)中遇到了一些感覺挺重要的知識點(diǎn),感覺有必要整理下來,這篇文章主要給大家介紹了關(guān)于Vue.js中計算屬性、監(jiān)視屬性的相關(guān)資料,需要的朋友可以參考下2022-08-08
淺談Vuex@2.3.0 中的 state 支持函數(shù)申明
這篇文章主要介紹了淺談Vuex@2.3.0 中的 state 支持函數(shù)申明,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-11-11
vue的template模板是如何轉(zhuǎn)為render函數(shù)的過程
Vue從template到render函數(shù)的轉(zhuǎn)換經(jīng)歷模板解析、AST構(gòu)建、優(yōu)化、生成渲染函數(shù)等步驟,首先進(jìn)行詞法分析將模板拆解為tokens,再進(jìn)行語法分析構(gòu)建AST,然后對AST進(jìn)行靜態(tài)標(biāo)記和提升優(yōu)化,最后轉(zhuǎn)換成JavaScript渲染函數(shù),生成虛擬DOM,完成組件的渲染和更新,實(shí)現(xiàn)了模板的高效轉(zhuǎn)化2024-10-10
vue router 組件的高級應(yīng)用實(shí)例代碼
這篇文章主要介紹了vue-router 組件的高級應(yīng)用,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2019-04-04
詳解TypeScript+Vue 插件 vue-class-component的使用總結(jié)
這篇文章主要介紹了TypeScript+Vue 插件 vue-class-component的使用總結(jié),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-02-02

