最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

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

代碼演示如下:

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

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

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

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

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

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

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

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

請(qǐng)注意第5點(diǎn),以下代碼在3個(gè)地方使用了<my-component>標(biāo)簽,但只有#app1和#app2下的<my-component>標(biāo)簽才起到作用。

<!DOCTYPE html>
<html>
  <body>
    <div id="app1">
      <my-component></my-component>
    </div>
    
    <div id="app2">
      <my-component></my-component>
    </div>
    
    <!--該組件不會(huì)被渲染-->
    <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>

全局注冊(cè)和局部注冊(cè)

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

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

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

<!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è)組件構(gòu)造器
    var myComponent = Vue.extend({
      template: '<div>This is my first component!</div>'
    })
    
    new Vue({
      el: '#app',
      components: {
        // 2. 將myComponent組件注冊(cè)到Vue實(shí)例下
        'my-component' : myComponent
      }
    });
  </script>
</html>

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

<div id="app2">
  <!-- 不能使用my-component組件,因?yàn)閙y-component是一個(gè)局部組件,它屬于#app-->
  <my-component></my-component>
</div>

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

如果你這樣做了,瀏覽器會(huì)提示一個(gè)錯(cuò)誤。

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

//(局部components)

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

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

相關(guān)文章

  • 詳解django模板與vue.js沖突問題

    詳解django模板與vue.js沖突問題

    在本文里小編給各位整理了關(guān)于django模板與vue.js沖突問題以及實(shí)例代碼,需要的朋友們參考下。
    2019-07-07
  • vue實(shí)現(xiàn)簡(jiǎn)單滑塊驗(yàn)證

    vue實(shí)現(xiàn)簡(jiǎn)單滑塊驗(yàn)證

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)簡(jiǎn)單滑塊驗(yàn)證,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • 關(guān)于net?6+vue?插件axios?后端接收參數(shù)問題

    關(guān)于net?6+vue?插件axios?后端接收參數(shù)問題

    接到這樣一個(gè)項(xiàng)目需求是這樣的,前端vue?必須對(duì)象傳遞后端也必須對(duì)象接收,接下來通過本文給大家介紹下net?6+vue?插件axios?后端接收參數(shù)的問題,需要的朋友可以參考下
    2022-01-01
  • 使用VUE和webrtc-streamer實(shí)現(xiàn)實(shí)時(shí)視頻播放(監(jiān)控設(shè)備-rtsp)

    使用VUE和webrtc-streamer實(shí)現(xiàn)實(shí)時(shí)視頻播放(監(jiān)控設(shè)備-rtsp)

    WebRTC-streamer是一項(xiàng)使用簡(jiǎn)單機(jī)制通過WebRTC流式傳輸視頻捕獲設(shè)備和RTSP源的實(shí)驗(yàn),下面這篇文章主要給大家介紹了關(guān)于如何使用VUE和webrtc-streamer實(shí)現(xiàn)實(shí)時(shí)視頻播放(監(jiān)控設(shè)備-rtsp)的相關(guān)資料,需要的朋友可以參考下
    2022-11-11
  • Vue.js+express利用切片實(shí)現(xiàn)大文件斷點(diǎn)續(xù)傳

    Vue.js+express利用切片實(shí)現(xiàn)大文件斷點(diǎn)續(xù)傳

    斷點(diǎn)續(xù)傳就是要從文件已經(jīng)下載的地方開始繼續(xù)下載,本文主要介紹了Vue.js+express利用切片實(shí)現(xiàn)大文件斷點(diǎn)續(xù)傳,具有一定的參考價(jià)值,感興趣的可以了解下
    2023-05-05
  • web前端vue之vuex單獨(dú)一文件使用方式實(shí)例詳解

    web前端vue之vuex單獨(dú)一文件使用方式實(shí)例詳解

    Vuex 是一個(gè)專為 Vue.js 應(yīng)用程序開發(fā)的狀態(tài)管理模式。這篇文章主要介紹了web前端vue:vuex單獨(dú)一文件使用方式,需要的朋友可以參考下
    2018-01-01
  • vue2安裝tailwindcss的詳細(xì)步驟

    vue2安裝tailwindcss的詳細(xì)步驟

    這篇文章主要介紹了vue2安裝tailwindcss,本文分步驟結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-08-08
  • Vuejs第十篇之vuejs父子組件通信

    Vuejs第十篇之vuejs父子組件通信

    這篇文章主要介紹了Vuejs第十篇之vuejs父子組件通信的相關(guān)資料,本文介紹的非常詳細(xì),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-09-09
  • vue組件化中slot的基本使用方法

    vue組件化中slot的基本使用方法

    這篇文章主要給大家介紹了關(guān)于vue組件化中slot的基本使用方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用vue具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • vue在線動(dòng)態(tài)切換主題色方案

    vue在線動(dòng)態(tài)切換主題色方案

    這篇文章主要介紹了vue在線動(dòng)態(tài)切換主題色方案,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03

最新評(píng)論

进贤县| 敦化市| 灌阳县| 河曲县| 江孜县| 天津市| 海林市| 临城县| 长垣县| 甘肃省| 彩票| 溧阳市| 商河县| 阳谷县| 汉阴县| 中宁县| 凤庆县| 麻江县| 德江县| 大渡口区| 班玛县| 贵港市| 东安县| 上虞市| 金山区| 托克托县| 阿荣旗| 九寨沟县| 资阳市| 射阳县| 临潭县| 洛川县| 桐城市| 嘉峪关市| 桂东县| 介休市| 榆中县| 浙江省| 千阳县| 麻江县| 宁武县|