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

詳解vue.js全局組件和局部組件

 更新時間:2017年04月10日 14:56:35   作者:周森  
這篇文章主要介紹了詳解vue.js全局組件和局部組件,實例分析了全局組件和局部的技巧,有興趣的可以了解一下。

這兩天學(xué)習(xí)了Vue.js 感覺組件這個地方知識點挺多的,而且很重要,所以,今天添加一點小筆記。

首先Vue組件的使用有3個步驟,創(chuàng)建組件構(gòu)造器,注冊組件,使用組件3個方面。

代碼演示如下:

<!DOCTYPE html>
<html>
  <body>
    <div id="app">
      <!-- 3. #app是Vue實例掛載的元素,應(yīng)該在掛載元素范圍內(nèi)使用組件-->
      <my-component></my-component>
    </div>
  </body>
  <script src="js/vue.js"></script>
  <script>
  
    // 1.創(chuàng)建一個組件構(gòu)造器
    var myComponent = Vue.extend({
      template: '<div>This is my first component!</div>'
    })
    
    // 2.注冊組件,并指定組件的標簽,組件的HTML標簽為<my-component>
    Vue.component('my-component', myComponent)
    
    new Vue({
      el: '#app'
    });
    
  </script>
</html>

2.理解組件的創(chuàng)建和注冊

我們用以下幾個步驟來理解組件的創(chuàng)建和注冊:

1. Vue.extend()是Vue構(gòu)造器的擴展,調(diào)用Vue.extend()創(chuàng)建的是一個組件構(gòu)造器,而不是一個具體的組件實例。

2. Vue.extend()構(gòu)造器有一個選項對象,選項對象的template屬性用于定義組件要渲染的HTML。

3. 使用Vue.component()注冊組件時,需要提供2個參數(shù),第1個參數(shù)時組件的標簽,第2個參數(shù)是組件構(gòu)造器。

4. Vue.component()方法內(nèi)部會調(diào)用組件構(gòu)造器,創(chuàng)建一個組件實例。

5. 組件應(yīng)該掛載到某個Vue實例下,否則它不會生效。

請注意第5點,以下代碼在3個地方使用了<my-component>標簽,但只有#app1和#app2下的<my-component>標簽才起到作用。

<!DOCTYPE html>
<html>
  <body>
    <div id="app1">
      <my-component></my-component>
    </div>
    
    <div id="app2">
      <my-component></my-component>
    </div>
    
    <!--該組件不會被渲染-->
    <my-component></my-component>
  </body>
  <script src="js/vue.js"></script>
  <script>
    var myComponent = Vue.extend({
      template: '<div>This is a component!</div>'
    })
    
    Vue.component('my-component', myComponent)
    
    var app1 = new Vue({
      el: '#app1'
    });
    
    var app2 = new Vue({
      el: '#app2'
    })
  </script>
</html>

全局注冊和局部注冊

調(diào)用Vue.component()注冊組件時,組件的注冊是全局的,這意味著該組件可以在任意Vue示例下使用。

如果不需要全局注冊,或者是讓組件使用在其它組件內(nèi),可以用選項對象的components屬性實現(xiàn)局部注冊。

上面的示例可以改為局部注冊的方式:

<!DOCTYPE html>
<html>
  <body>
    <div id="app">
      <!-- 3. my-component只能在#app下使用-->
      <my-component></my-component>
    </div>
  </body>
  <script src="js/vue.js"></script>
  <script>
    // 1.創(chuàng)建一個組件構(gòu)造器
    var myComponent = Vue.extend({
      template: '<div>This is my first component!</div>'
    })
    
    new Vue({
      el: '#app',
      components: {
        // 2. 將myComponent組件注冊到Vue實例下
        'my-component' : myComponent
      }
    });
  </script>
</html>

由于my-component組件是注冊在#app元素對應(yīng)的Vue實例下的,所以它不能在其它Vue實例下使用。

<div id="app2">
  <!-- 不能使用my-component組件,因為my-component是一個局部組件,它屬于#app-->
  <my-component></my-component>
</div>

<script>
  new Vue({
    el: '#app2'
  });
</script>

如果你這樣做了,瀏覽器會提示一個錯誤。

//注冊組件(全局 component)
Vue.component("my-component",{
  template:'<div>這是一個全局組件測試 </div>'
});
new Vue({
  el:"#app5"
})

//(局部components)

new Vue({
  el:"#app6",
  components:{
    'test-component':{
      template:"<div>這是一個局部的組件測試</div>"
    }
  }
});

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue3+ts+MicroApp實戰(zhàn)教程

    vue3+ts+MicroApp實戰(zhàn)教程

    這篇文章主要介紹了vue3+ts+MicroApp實戰(zhàn)教程,分別在主應(yīng)用項目(main)和子應(yīng)用(childrenOne,childrenTwo)項目中安裝microApp,本文給大家詳細講解,需要的朋友可以參考下
    2022-10-10
  • 基于vue-cli vue-router搭建底部導(dǎo)航欄移動前端項目

    基于vue-cli vue-router搭建底部導(dǎo)航欄移動前端項目

    這篇文章主要介紹了基于vue-cli vue-router搭建底部導(dǎo)航欄移動前端項目,項目中主要用了Flex布局,以及viewport相關(guān)知識,已達到適應(yīng)各終端屏幕的目的。需要的朋友可以參考下
    2018-02-02
  • vue?ElementUI級聯(lián)選擇器回顯問題解決

    vue?ElementUI級聯(lián)選擇器回顯問題解決

    這篇文章主要介紹了vue?ElementUI級聯(lián)選擇器回顯問題解決,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-09-09
  • 一文詳解Vue中過濾器filters的使用

    一文詳解Vue中過濾器filters的使用

    Vue.js允許自定義過濾器,過濾器的作用可被用于一些常見的文本格式化(也就是修飾文本,但是文本內(nèi)容不會改變),本文主要來和大家講講過濾器filters的使用,感興趣的可以了解一下
    2023-04-04
  • Vue實現(xiàn)Google第三方登錄的示例代碼

    Vue實現(xiàn)Google第三方登錄的示例代碼

    本文記錄作者在vue項目中使用到Google第三方登錄,查詢到的資料文檔也不詳細,故此把自己所遇到的坑及問題詳細的記錄下來。
    2021-07-07
  • vue3 父子組件傳值詳解

    vue3 父子組件傳值詳解

    這篇文章主要為大家介紹了vue的父子組件傳值,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-11-11
  • Vue完整版和runtime版的區(qū)別詳解

    Vue完整版和runtime版的區(qū)別詳解

    這篇文章主要為大家介紹了Vue完整版和runtime版的區(qū)別詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-12-12
  • Vue中使用matomo進行訪問流量統(tǒng)計的實現(xiàn)

    Vue中使用matomo進行訪問流量統(tǒng)計的實現(xiàn)

    這篇文章主要介紹了Vue中使用matomo進行訪問流量統(tǒng)計的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • Vue雙向綁定實現(xiàn)原理與方法詳解

    Vue雙向綁定實現(xiàn)原理與方法詳解

    這篇文章主要介紹了Vue雙向綁定實現(xiàn)原理與方法,結(jié)合實例形式詳細分析了發(fā)布者-訂閱者模式、臟值檢查、數(shù)據(jù)劫持與雙向綁定相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2020-05-05
  • vue實現(xiàn)可增刪查改的成績單

    vue實現(xiàn)可增刪查改的成績單

    這篇文章主要為大家詳細介紹了vue實現(xiàn)可增刪查改的成績單,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-10-10

最新評論