欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue寫一個組件

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

寫一個vue組件

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

一個完整的vue組件會包括一下三個部分:

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

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

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

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

template是用來干嘛的呢?

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

js部分

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

css部分

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

<!--這里的你可以使用scss(CSS擴展語言)只要安裝"sass-loader"和"node-sass"這兩個npm包就好了,vue-cli已經(jīng)配好相關(guān)參數(shù)了。如果想使用less或其它css擴展語音,只要裝好各自的編譯包就好了。而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('點擊了子組件')
 }
 }
}
</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組寫一個組件,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • Vue導(dǎo)出Excel功能的全過程記錄

    Vue導(dǎo)出Excel功能的全過程記錄

    在開發(fā)后臺管理系統(tǒng)的時候,很多地方都要用到導(dǎo)出excel 表格,比如將table中的數(shù)據(jù)導(dǎo)出到本地,這篇文章主要給大家介紹了關(guān)于Vue導(dǎo)出Excel功能的相關(guān)資料,需要的朋友可以參考下
    2021-07-07
  • 關(guān)于vue 結(jié)合原生js 解決echarts resize問題

    關(guān)于vue 結(jié)合原生js 解決echarts resize問題

    這篇文章主要介紹了關(guān)于vue 結(jié)合原生js 解決echarts resize問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • Vue.extend 登錄注冊模態(tài)框的實現(xiàn)

    Vue.extend 登錄注冊模態(tài)框的實現(xiàn)

    這篇文章主要介紹了Vue.extend 登錄注冊模態(tài)框的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-12-12
  • vuex學習進階篇之getters的使用教程

    vuex學習進階篇之getters的使用教程

    getters用于獲取state里的數(shù)據(jù),它類似于計算屬性,如果要獲取的數(shù)據(jù)并沒有發(fā)生變化的話,就會返回緩存的數(shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于vuex學習進階篇之getters的使用教程,需要的朋友可以參考下
    2022-10-10
  • VUE3學習教程之全局組件和局部組件

    VUE3學習教程之全局組件和局部組件

    組件(Component)是Vue.js最強大的功能之一,組件可以擴展?HTML?元素,封裝可重用的代碼,這篇文章主要給大家介紹了關(guān)于VUE3學習教程之全局組件和局部組件的相關(guān)資料,需要的朋友可以參考下
    2022-01-01
  • vue學習筆記之作用域插槽實例分析

    vue學習筆記之作用域插槽實例分析

    這篇文章主要介紹了vue學習筆記之作用域插槽,結(jié)合實例形式分析了vue.js作用域插槽基本使用方法及操作注意事項,需要的朋友可以參考下
    2020-02-02
  • vue新建項目并配置標準路由過程解析

    vue新建項目并配置標準路由過程解析

    這篇文章主要介紹了vue新建項目并配置標準路由過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-12-12
  • 關(guān)于vue?src路徑動態(tài)拼接的小知識

    關(guān)于vue?src路徑動態(tài)拼接的小知識

    這篇文章主要介紹了vue?src路徑動態(tài)拼接的小知識,具有很好的參考價值,希望對大家有所幫助。
    2022-04-04
  • 關(guān)于vue2使用swiper4的踩坑記錄

    關(guān)于vue2使用swiper4的踩坑記錄

    最近寫vue的一個練手項目需要在里面實現(xiàn)一個輪播圖,想到去用第三方插件,百度了一輪,發(fā)現(xiàn)大部分都是swiper這個插件,這篇文章主要給大家介紹了關(guān)于vue2使用swiper4踩坑的相關(guān)資料,需要的朋友可以參考下
    2022-01-01
  • flutter使用tauri實現(xiàn)一個一鍵視頻轉(zhuǎn)4K軟件

    flutter使用tauri實現(xiàn)一個一鍵視頻轉(zhuǎn)4K軟件

    這篇文章主要為大家介紹了flutter使用tauri實現(xiàn)一個一鍵視頻轉(zhuǎn)4K軟件詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-09-09

最新評論