最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue寫(xiě)一個(gè)組件

 更新時(shí)間:2018年04月09日 13:36:15   作者:Mr.蘇  
這篇文章主要介紹了vue組寫(xiě)一個(gè)組件,需要的朋友可以參考下

寫(xiě)一個(gè)vue組件

我下面寫(xiě)的是以.vue結(jié)尾的單文件組件的寫(xiě)法,是基于webpack構(gòu)建的項(xiàng)目。如果還不知道怎么用webpack構(gòu)建一個(gè)vue的工程的,可以移步到vue-cli。

一個(gè)完整的vue組件會(huì)包括一下三個(gè)部分:

  1. template:模板
  2. js: 邏輯
  3. css : 樣式

每個(gè)組件都有屬于自己的模板,js和樣式。如果將一個(gè)頁(yè)面比喻成一間房子的話,組件就是房子里的客廳、臥室、廚房、廁所。如果把廚房單獨(dú)拿出來(lái)的話,組件又可以是刀、油煙機(jī)...等等。就是說(shuō)頁(yè)面是由組件構(gòu)成的,而組件也可以是組件構(gòu)成的。這樣就可以非常的靈活,耦合性也非常的低。

先來(lái)看看一個(gè)組件在不是.vue文件內(nèi)的寫(xiě)法:

Vue.component('simple-counter', {
 template: '<div id="inputBox"><input type="text"></div>',
 data () {   // 數(shù)據(jù)
 return {
  counter: 0
 }
 },
 methods: {
 // 寫(xiě)點(diǎn)方法
 },
 created () {
 // 生命鉤子
 },
 computed: {
 // 計(jì)算屬性
 }
})

template是用來(lái)干嘛的呢?

<template>
 <div id="inputBox">
 <input type="text">
 </div>
</template>
<!--
template就是這個(gè)組件的html,也就是下面部分(vue-loader會(huì)將template標(biāo)簽下的內(nèi)容解析出來(lái)):
-->
<div id="inputBox">
 <input type="text">
</div>
<!--
 對(duì)應(yīng)原生寫(xiě)法的話,就是template內(nèi)的dom字符串
-->

js部分

export default {
 data () {
 return {
  counter: 0
 }
 },
 methods: {
 // 方法
 },
 created () {
 // 生命鉤子
 },
 computed: {
 // 計(jì)算屬性
 }
}
// 在這里很明顯js部分就是對(duì)應(yīng)的原生寫(xiě)法內(nèi)的非template部分了。
// export default這個(gè)是es6的模塊寫(xiě)法,不懂的可以先去了解es6的模塊化

css部分

<style lang="scss" scoped>
...樣式
</style>

<!--這里的你可以使用scss(CSS擴(kuò)展語(yǔ)言)只要安裝"sass-loader"和"node-sass"這兩個(gè)npm包就好了,vue-cli已經(jīng)配好相關(guān)參數(shù)了。如果想使用less或其它c(diǎn)ss擴(kuò)展語(yǔ)音,只要裝好各自的編譯包就好了。而scoped是讓css的作用域只在該文件下。-->

引入

要怎么在其它組件引用該組件?

組件一(button.vue)

<template>
 <div class="button">
 <button @click="onClick">{{text}}</button>
 </div>
</template>
<script>
export default {
 props: ['text'],   // 獲取父組件的傳值
 data () {
 return {

 }
 },
 methods: {
 onClick () {
  console.log('點(diǎn)擊了子組件')
 }
 }
}
</script>
<style lang="scss" scoped>
.button {
 button {
 width: 100px;
 }
}
</style>

組件二(box.vue)

<template>
 <div class="box">
 <v-button :text="text"></v-button>    <!--使用組件并傳值(text)-->
 </div>
</template>
<script>
import Button from './button.vue'  // 引入子組件
export default {
 components: {
 'v-button': Button
 },
 data () {
 return {
  text: '按鍵的name'
 }
 },
 methods: {

 }
}
</script>

總結(jié)

以上所述是小編給大家介紹的vue組寫(xiě)一個(gè)組件,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • vue style屬性設(shè)置背景圖片的相對(duì)路徑無(wú)效的解決

    vue style屬性設(shè)置背景圖片的相對(duì)路徑無(wú)效的解決

    這篇文章主要介紹了vue style屬性設(shè)置背景圖片的相對(duì)路徑無(wú)效的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • 詳解vue2 $watch要注意的問(wèn)題

    詳解vue2 $watch要注意的問(wèn)題

    本篇文章主要介紹了詳解vue2 $watch要注意的問(wèn)題,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-09-09
  • django+vue實(shí)現(xiàn)跨域的示例代碼

    django+vue實(shí)現(xiàn)跨域的示例代碼

    在我們的項(xiàng)目中需要用到django實(shí)現(xiàn)跨域的問(wèn)題,本文通過(guò)示例代碼給大家詳細(xì)介紹django+vue實(shí)現(xiàn)跨域的方法,感興趣的朋友跟隨小編一起看看吧
    2022-03-03
  • 在Vue3中實(shí)現(xiàn)動(dòng)態(tài)路由的示例代碼

    在Vue3中實(shí)現(xiàn)動(dòng)態(tài)路由的示例代碼

    Vue3中的動(dòng)態(tài)路由是一種高級(jí)功能,它允許你在URL中包含變量,這些變量可以在組件內(nèi)部通過(guò)$route.params對(duì)象訪問(wèn),動(dòng)態(tài)路由通常用于構(gòu)建可配置性強(qiáng)、更具靈活性的應(yīng)用,本文詳細(xì)介紹了如何在vue3中實(shí)現(xiàn)動(dòng)態(tài)路由,需要的朋友可以參考下
    2024-07-07
  • 一文詳解Vue中過(guò)濾器filters的使用

    一文詳解Vue中過(guò)濾器filters的使用

    Vue.js允許自定義過(guò)濾器,過(guò)濾器的作用可被用于一些常見(jiàn)的文本格式化(也就是修飾文本,但是文本內(nèi)容不會(huì)改變),本文主要來(lái)和大家講講過(guò)濾器filters的使用,感興趣的可以了解一下
    2023-04-04
  • Vuex modules模式下mapState/mapMutations的操作實(shí)例

    Vuex modules模式下mapState/mapMutations的操作實(shí)例

    這篇文章主要介紹了Vuex modules 模式下 mapState/mapMutations 的操作實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • 詳解Vue爬坑之vuex初識(shí)

    詳解Vue爬坑之vuex初識(shí)

    本篇文章主要介紹了詳解Vue爬坑之vuex初識(shí) ,Vue 的狀態(tài)管理工具 Vuex可以解決大型項(xiàng)目中子組件之間傳遞數(shù)據(jù),有興趣的可以了解下
    2017-06-06
  • 前端使用print.js實(shí)現(xiàn)打印功能(基于vue)

    前端使用print.js實(shí)現(xiàn)打印功能(基于vue)

    最近新接了一個(gè)需求,想要在前端實(shí)現(xiàn)打印功能,下面這篇文章主要給大家介紹了關(guān)于前端使用print.js實(shí)現(xiàn)打印功能(基于vue)的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-05-05
  • 淺談Vue SPA 首屏加載優(yōu)化實(shí)踐

    淺談Vue SPA 首屏加載優(yōu)化實(shí)踐

    本篇文章主要介紹了淺談Vue SPA 首屏加載優(yōu)化實(shí)踐,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-12-12
  • 在vue項(xiàng)目中使用md5加密的方法

    在vue項(xiàng)目中使用md5加密的方法

    這篇文章主要介紹了在vue項(xiàng)目中使用md5加密的方法,需要的朋友可以參考下
    2018-09-09

最新評(píng)論

远安县| 嘉禾县| 仙居县| 衡阳县| 宁蒗| 莎车县| 祁连县| 新沂市| 子长县| 泸溪县| 司法| 东阿县| 民和| 西林县| 汉寿县| 台东市| 吉水县| 彭州市| 太仆寺旗| 荃湾区| 双城市| 公安县| 武汉市| 攀枝花市| 瑞金市| 中山市| 龙里县| 农安县| 南漳县| 郑州市| 合山市| 沙坪坝区| 探索| 临夏市| 中宁县| 乌拉特后旗| 襄汾县| 阿尔山市| 北辰区| 青铜峡市| 诏安县|