中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么深入了解Vue組件的創建和使用

發布時間:2021-12-24 20:43:19 來源:億速云 閱讀:183 作者:柒染 欄目:開發技術

今天就跟大家聊聊有關怎么深入了解Vue組件的創建和使用,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

    一、什么是組件?

    組件 (Component) 是 Vue.js 最強大的功能之一。組件可以擴展 HTML 元素,封裝可重用的代碼。在較高層面上,組件是自定義元素,Vue.js 的編譯器為它添加特殊功能。

    二、創建全局組件

    方式一

    1、Vue.extend
       var com1 = Vue.extend({
    // 通過 template 屬性,指定了組件要展示的HTML結構
                   template: '<h4>這是使用 Vue.extend 創建的組件</h4>'
                })
    2、Vue.component

    Vue.component(‘組件的名稱', 創建出來的組件模板對象) 注冊組件

      Vue.component('myCom1', com1)

    注意:如果使用Vue.Component 注冊全局組件的時候,組件的名稱使用了駝峰命名,則在引用組件的時候需要把大寫的駝峰改為小寫的字母,同時,兩個單詞之前,使用 “–” 鏈接。如果不使用則直接拿名稱來使用即可。

    怎么深入了解Vue組件的創建和使用

    方式二

    直接使用Vue.component
    Vue.component('mycom2', {
                    template: '<div><h4>這是直接使用 Vue.component 創建出來的組件</h4>
    <span>123</span></div>'
                })

    示例:

    怎么深入了解Vue組件的創建和使用

    方式三

    1、被控制的 #app 外面,使用 template 元素,定義組件的HTML模板結構。

    <template id="tmpl">
                <div>
                    <h2>這是通過 template 元素,在外部定義的組件結構</h2>
                    <h5>好用,不錯!</h5>
                </div>
            </template>

    2、使用id注冊組件

       Vue.component('mycom3', {
            template: '#tmpl'
        })

    三、 創建局部組件

    局部組件的創建和全局組件的創建方法一樣。唯一區別的是,局部組件是在Vue實例中定義的。

    怎么深入了解Vue組件的創建和使用

    四、組件中的data 和 methods

    1、組件可以擁有自己的數據。

    2、組件中的data 和實例中的data 有點不一樣,實例中的data 可以為一個對象。但是組件中的data必須是一個方法。

    3、組件中的data除了是一個方法,還必須返回一個對象。

    4、組件中的data 的使用方式和 實例中的data 使用方式一樣。(methods也一樣)

    怎么深入了解Vue組件的創建和使用

    五、組件間的通信方式

    怎么深入了解Vue組件的創建和使用

    props/$emit

    父組件A通過props的方式向子組件B傳遞,B to A 通過在 B 組件中 $emit, A 組件中 v-on 的方式實現。

    子組件:

    <template>
      <div class="hello">
        <ul>
          <li v-for="(user,index) in users" v-bind:key="index">{{ user }}</li>
        </ul>
      </div>
    </template>
    
    <script>
    export default {
      name: "users",
      props: {
        users: {  //父組件中子標簽自定義的名字
          type: Array,
          require: true
        }
      }
    }
    </script>
    
    <style scoped>
     li{
       list-style-position: inside;
     }
    </style>

    父組件:

    <template>
      <div id="app">
        <img alt="Vue logo" src="./assets/logo.png">
        <Users v-bind:users="users"> </Users>
      </div>
    </template>
    
    <script>
    import Users from "@/components/users";
    export default {
      name: 'App',
      data(){
        return {
          users: ['西安郵電','西安石油','西北政法','西安工業','西安財經']
        }
      },
      components: {
        Users,
      }
    }
    </script>

    通過事件形式

    子組件

    <template>
      <header>
        <h2 @click="changeTitle">{{ title }}</h2>
      </header>
    </template>
    <script>
    export default {
      name: "Son",
      data(){
        return {
          title: 'Vue.js Demo'
        }
      },
      methods: {
        changeTitle(){
          this.$emit('titleChanged','西安郵電大學');
        }
      }
    }
    </script>
    
    <style scoped>
     h2{
       background-color: greenyellow;
     }
    </style>

    父組件:

    <template>
      <div id="app">
        <Son v-on:titleChanged="updateTitle"></Son>
        <h3>{{ title }}</h3>
      </div>
    </template>
    <script>
    import Son from "@/components/Son";
    export default {
      name: "Father",
      data(){
        return {
          title: '傳遞的是一個值'
        }
      },
      methods: {
        updateTitle(e){
          this.title = e
        }
      },
      components:{
        Son,
      }
    }
    </script>

    子組件通過events(事件)給父組件發送消息,實際上就是子組件把自己的數據發送到父組件。

    看完上述內容,你們對怎么深入了解Vue組件的創建和使用有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    vue
    AI

    常山县| 清水县| 马尔康县| 汕头市| 兴山县| 临安市| 铁力市| 葫芦岛市| 屯门区| 乐陵市| 泰州市| 长武县| 兰西县| 石门县| 张家港市| 桓台县| 腾冲县| 盈江县| 高雄市| 海伦市| 敖汉旗| 东丰县| 汝阳县| 上虞市| 安福县| 太原市| 思南县| 南皮县| 天水市| 湟中县| 青岛市| 通海县| 荥阳市| 铁岭市| 汉寿县| 乐都县| 左云县| 新野县| 连州市| 大方县| 彩票|