Vue.js中組件傳參的方法 - 基於webpack模板


在Vuejs中, 組件之間的傳參是今天第一次接觸, 之前寫的組件互相之間都是獨立的,

弗敢專也, 必以分人

 

環境: node.js npm vue-cli 以上安裝請自行百度

 

一、項目創建

$ vue init webpack

   這里需要注意的是“前面的一些項目名稱什么的都可以直接回車,最后三個選項要注意,是代碼檢測”,這個代碼檢測有點煩的地方是要求代碼必須極其規范,我tab符用4個空格都不允許,必須兩個,所以到這里我選擇不用代碼檢測,webpack編譯后不影響使用!

   上面的命令會在當前目錄下生成一些文件,這些文件是基於webpack的vue項目模板,省時省力,不用自己去搭建環境(其實是因為我手動搭建的很不規范,有能力的同學自己來)

 

  搭建好了環境,就可以開始碼嘍!

  目錄結構下我們注重的是src目錄,里面是我們要敲碼的地方(其他目錄干嘛的在這里就不解釋了,自行度)

 

二、開始

  首先入口文件是main.js

  可以看到

const vm = new Vue({
  el: '#app',
  router,
  template: '<App/>',
  components: { App }
})

  此處new了一個實例,

  並引入了路由 router

  定義了實例的模板是App標簽

 

我們進入與它同級的App.vue文件中

 

里面由3個結構組成

// html部分
<template></template>

// JS部分
<script></script>

// 樣式部分
<style></style>

我們的html部分必須由一個根組件包裹

<template>
  <div class="vue">
    // code...
  </div> </template>

 

下面進入正題

 

<template>
  <div class="vue">
    <h1>This App Title</h1>
    <my-name></my-name>
  </div>
</template>
 
<script>
  // 一般情況下,我會將組件放在components目錄下
  import Name from './components/Name.vue'
  export default {
    components: {
      'my-Name': Name
    }
  }
</script>

上面我們就完成了對name組件的引用,我們還沒有創建這個組件

 

進入components目錄,新建文件Name.vue

 

<template>
  <div class="name">
    {{ myname }}
  </div>
</template>
 
<script>
  export default {
    props: [
      'yourname'
    ],
    computed: {
      myname () {
        this.yourname
      }
    }
  }
</script>

此處的重點是:props屬性是接收傳過來的值,另外使用了computed屬性將收到的值賦給當前組件的data中的myname屬性上,最終得以展示!

 

最后在App.vue組件中,使用

<my-name :yourname="fea"></my-name>

即可將值傳給這個組件,並展示在頁面上,具體你想用傳來的值做什么,隨你嘍!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM