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

