首頁  >  文章  >  web前端  >  vue組件要注意什麼

vue組件要注意什麼

青灯夜游
青灯夜游原創
2021-12-23 18:32:572305瀏覽

vue元件要注意的事項:1、元件的template模板必須有且只有一個根節點;2、元件的data選項必須是一個函數,且函數體傳回一個物件;3、子元件不能直接修改父元件傳遞過來的值,否則會有一個警告。

vue組件要注意什麼

本教學操作環境:windows7系統、vue2.9.6版,DELL G3電腦。

Vue 元件化注意事項

  • 元件可以理解為特殊的 Vue 實例,管理自己的 template 範本。

  • 元件的 template 必須有且只有一個根節點。
  • 元件的 data 選項必須是一個函數,且函數體傳回一個物件。

  • 子元件不能直接修改父元件傳遞過來的值。

    父元件透過屬性的情勢可以隨意給子元件傳遞值,但子元件不能修改父元件的資料; 否則會有一個警告,提示不要直接修改父元件傳遞過來的值。

    vue組件要注意什麼

元件與元件之間是相互獨立的,可以設定自己的一些選項資源 data 、 methods 、 computed 等等。

想法:元件自己管理自己,不影響別人。

元件範例

<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>全局注册 - 王佳伟</title>
</head>

<body>


    <div id="app">
        <!-- 引用组件时必须使用横线分割符 -->
        <component-a></component-a>
        <component-a></component-a>
        <component-b></component-b>
    </div>

    <script src="./node_modules/vue/dist/vue.js"></script>

    <script>
        // 全局注册组件
        /***
         * 1.组件命名:驼峰、横线分隔符命名方式
         * 2.使用组件:使用组件时必须采用横线分隔符的方式进行引用
         * 
         * 组件可以理解为就是特殊的Vue实例,不需要手动的实例化而已,它用于管理自己的模板。
         */
        Vue.component(&#39;component-a&#39;, {
            // template选项,指定组件的模板代码
            template: &#39;<div><h1>头部组件  --  {{name}}</h1></div>&#39;,
            data: function () {  // 在组件中,data选项必须是一个函数
                return {
                    name: &#39;全局组件&#39;
                }
            }
        })

        // 定义局部组件对象
        const ComponentB = {
            template: &#39;<div>这是 {{name}} </div>&#39;,
            data() {
                return {
                    name: &#39;局部组件&#39;
                }
            },
        }
        new Vue({
            el: &#39;#app&#39;,
            components: {
                // key:value   ;  key为组件名,value是组件对象。
                &#39;component-b&#39;: ComponentB
            },
            data: {

            }
        })
    </script>

</body>

</html>

【相關推薦:《vue.js教學》】

以上是vue組件要注意什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn