溫馨提示×

溫馨提示×

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

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

如何使用todolist入門全局組件和局部組件

發布時間:2020-08-10 10:02:26 來源:億速云 閱讀:182 作者:Leah 欄目:web開發

本篇文章為大家展示了如何使用todolist入門全局組件和局部組件,代碼簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

 在理解入門全局組件和局部組件之前,我們有必要了解什么是“組件化”的概念。

組件化可以理解為頁面的一個組件或者一個部分,例如下圖,紅框部分可以劃分成一個組件,我們只需要寫好一個組件,然后循環數據即可。這個組件可能在在首頁、列表頁等任何地方使用,并不僅僅局限于當前頁面。

我們仍然以最簡單的todolist入門Vue的全局組件和局部組件。我們把<li></li>拿出來作為一個組件,那么我們分別看看全局組件和局部組件分別如何實現。

全局組件

<div id="root">
        <div>
            <input v-model="inputValue" />
            <button @click="handleSubmit">提交</button>
        </div>
        <ul>

            <todo-item v-bind:content="item" v-for="item in list"></todo-item>
        </ul>
    </div>

    <script>
        Vue.component("TodoItem",{
            props:['content'],
            template:"<li>{{content}}</li>"
        })


        new Vue({
            el:"#root", 
            data:{
                inputValue:'',
                list:[]
            },
            methods:{
                handleSubmit:function(){
                    this.list.push(this.inputValue)
                    this.inputValue = ''  //每次提交后清空
                }
            }
        })
    </script>

我們使用Vue.component()來定義一個全局組件,那么這個組件在當前頁面均可使用,而不僅僅是id="root"中。

Vue.component("TodoItem",{
            props:['content'],
            template:"<li>{{content}}</li>"
        })

TodoItem是組件名稱,在html中<todo-item></todo-item>使用

props是接收參數

template定義組件樣式,或者通俗說模板

同時還需要注意這里有一個父組件向子組件傳值

todo-item v-bind:content="item" v-for="item in list"></todo-item>

我們來分析,list是輸入父組件的,todo-item屬于子組件,list中循環的數據item需要傳遞給全局組件,則用v-bind:content="item"傳遞,其中content就是子組件接收的數據,那么子組件定義接收props:['content']后,就可以template:"<li>{{content}}</li>"用content顯示數據了。

局部組件

同樣的效果,我們使用局部組件來試試。

<div id="root">
        <div>
            <input v-model="inputValue" />
            <button @click="handleSubmit">提交</button>
        </div>
        <ul>
            <todo-item v-bind:content="item" v-for="item in list"></todo-item>
        </ul>
    </div>

    <script>

        var TodoItem={
            props:['content'],
            template:"<li>{{content}}</li>"
        }

        new Vue({
            el:"#root", 
            data:{
                inputValue:'',
                list:[]
            },
            components:{
                'TodoItem':TodoItem
            },
            methods:{
                handleSubmit:function(){
                    this.list.push(this.inputValue)
                    this.inputValue = ''  //每次提交后清空
                }
            }
        })
    </script>

和全局組件不同的是,我們通過var TodoItem={}定義局部組件,定義后還要在new Vue中進行聲明

components:{
   'TodoItem':TodoItem
},

那么局部組件僅僅在id="root"中使用。

好了,以上就是todolist實例帶你入門全局組件和局部組件,升職加薪,Vue技能趕緊get起來吧!

上述內容就是如何使用todolist入門全局組件和局部組件,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

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

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女