Vue單文件組件基礎(chǔ)模板小結(jié)
背景
相信大家在使用Vue開(kāi)發(fā)項(xiàng)目時(shí),基本都是以單文件組件的形式開(kāi)發(fā)組件的,這種方式好處多多:
1.代碼集中,便于開(kāi)發(fā)、管理和維護(hù)
2.可復(fù)用性高,直接將vue文件拷貝到新項(xiàng)目中
我暫時(shí)就想到這兩點(diǎn),童鞋們可以在評(píng)論里幫我補(bǔ)充;因?yàn)橛羞@么多優(yōu)點(diǎn),所以決定有必要將vue組件的常用配置項(xiàng)提煉出來(lái),形成一個(gè)組件模板,方便日后項(xiàng)目開(kāi)發(fā)復(fù)用
<template>
<div>
<h1>{{title}}</h1>
<ChildComponents></ChildComponents>
</div>
</template>
<script>
//子組件要提前引入,才可使用
import ChildComponents from './ChildComponents.vue'
//也可引入一些公共Js腳本或類(lèi)庫(kù)
import Cookie from '../lib/cookie.js'
//Js部分盡量采用ES6語(yǔ)法,webpack babel插件會(huì)轉(zhuǎn)義兼容
export default {
//組件私有數(shù)據(jù)(必須是function,而且要return對(duì)象類(lèi)型)
data () {
return {
title: '組件標(biāo)題',
firstName: '',
lastName: '',
}
},
//父組件傳遞過(guò)來(lái)的數(shù)據(jù)(兩種方式聲明:1.數(shù)組 2.對(duì)象)
//數(shù)組方式
props: ['age'],
//對(duì)象方式
/*props: {
age: {
type: Number,
default: 0,
required: true,
validator: function (value) {
return value >= 0
}
}
}*/
//計(jì)算屬性
computed: {
fullName () {
return this.firstName + this.lastName
}
},
//監(jiān)聽(tīng)
watch: {
title (preVal, newVal) {
console.log(`改變之前的值:${preVal};改變之后的值:${newVal}`)
}
},
//函數(shù)集,自己封裝,便于開(kāi)發(fā)使用
methods: {
getCurrentDate () {
return new Date().toLocaleDateString()
}
},
//生命周期鉤子:實(shí)例初始化之后,數(shù)據(jù)觀測(cè)(data observer) 和 event/watcher 事件配置之前被調(diào)用
beforeCreated () {
console.log('component before created')
},
//生命周期鉤子:組件實(shí)例完成創(chuàng)建之后調(diào)用
created () {
console.log('component created')
},
//生命周期鉤子:組件實(shí)例渲染完成時(shí)調(diào)用
mounted () {
console.log('component mounted')
},
//要用到哪些子組件(如果組件已是最小粒度,那么可省略該屬性)
components: {
ChildComponents
}
}
</script>
<style lang="scss" scoped>
/**使用scss編寫(xiě)樣式,既可提高開(kāi)發(fā)效率,也方便維護(hù)
* scoped省略后,該樣式片段會(huì)應(yīng)用到頁(yè)面全局
* 支持import語(yǔ)法引入css文件
*/
@import "../base/reset.css";
div {
h1 {
color: #c23a3f;
}
}
</style>
結(jié)語(yǔ)
以上組件模板中的配置不是最全的,但都是最常用的,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Vue實(shí)現(xiàn)簡(jiǎn)單購(gòu)物車(chē)小案例
這篇文章主要為大家詳細(xì)介紹了Vue實(shí)現(xiàn)簡(jiǎn)單購(gòu)物車(chē)小案例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-10-10
用electron打包vue項(xiàng)目中的報(bào)錯(cuò)問(wèn)題及解決
這篇文章主要介紹了用electron打包vue項(xiàng)目中的報(bào)錯(cuò)問(wèn)題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-05-05
TSX常見(jiàn)簡(jiǎn)單入門(mén)用法之Vue3+Vite
Vue3的確可以直接使用tsx開(kāi)發(fā),唯一需要處理的就是children,而且處理起來(lái)還是比較不爽的,下面這篇文章主要給大家介紹了關(guān)于TSX常見(jiàn)簡(jiǎn)單入門(mén)用法之Vue3+Vite的相關(guān)資料,需要的朋友可以參考下2022-08-08
Vue 使用iframe引用html頁(yè)面實(shí)現(xiàn)vue和html頁(yè)面方法的調(diào)用操作
這篇文章主要介紹了Vue 使用iframe引用html頁(yè)面實(shí)現(xiàn)vue和html頁(yè)面方法的調(diào)用操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-11-11
Vue 實(shí)現(xiàn)復(fù)制功能,不需要任何結(jié)構(gòu)內(nèi)容直接復(fù)制方式
今天小編就為大家分享一篇Vue 實(shí)現(xiàn)復(fù)制功能,不需要任何結(jié)構(gòu)內(nèi)容直接復(fù)制方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-11-11

