国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

vue動態注冊組件實例代碼詳解

2024-05-06 15:38:39
字體:
來源:轉載
供稿:網友

寫本篇文章之前其實也關注過vue中的一個關于加載動態組件is的API,最開始研究它只是用來實現一個tab切換的功能,使用起來也蠻不錯的。

is

預期:string | Object (組件的選項對象)

用于動態組件且基于 DOM 內模板的限制來工作。

示例:

<!-- 當 `currentView` 改變時,組件也跟著改變 --><component v-bind:is="currentView"></component>

詳見vue API中關于is的定義和用法

至于用在tab切換中,大概就是:

<template> <div>   <div>#動態組件實現tab切換效果#</div><br><br><br>     <nav>       <a href="javascript:void(0);" rel="external nofollow" rel="external nofollow" rel="external nofollow" @click="toggleTabs(first);">{{first}}</a>       <a href="javascript:void(0);" rel="external nofollow" rel="external nofollow" rel="external nofollow" @click="toggleTabs(second);">{{second}}</a>       <a href="javascript:void(0);" rel="external nofollow" rel="external nofollow" rel="external nofollow" @click="toggleTabs(third);">{{third}}</a>     </nav>     <first :is="currentView" keep-alive></first>   </div></template><script>import first from 'components/first';import second from 'components/second';import third from 'components/third';export default {  data () {    return {     first: "first",    second: "second",    third: "third",    currentView: 'first',    };   },   components: {     first,    second,    third   },   methods: {    toggleTabs (tabText) {     this.currentView = tabText;    }   } }</script>

但是今天,一個前端同行在群里問我“如果當前頁面是根據傳進來的參數的不同而顯示不同的組件,而且當前頁面中可能會import進來幾十個子組件,而我又不想挨個去import這些組件,同時這些組件又是按需加載的,該咋實現?” 說實話,一開始我也懵了。

我在想,實在不行就用const demo = () => import ( './demo.vue'),或者在組件的components:中按需引入:

components: { demo: () => import ( './demo.vue')}

但是我一想,也不對啊,這樣雖然能實現按需加載,但是還是要挨個import這些組件,還是沒有解決實際的問題。

經過查閱資料發現,vue有一個extend的方法可以實現。那么這個extend方法到底是干嘛的?

Vue.extend( options )

Vue.extend 返回的是一個“擴展實例構造器”,也就是預設了部分選項的Vue實例構造器。經常服務于Vue.component用來生成組件,可以簡單理解為當在模板中遇到該組件名稱作為標簽的自定義元素時,會自動調用“擴展實例構造器”來生成組件實例,并掛載到自定義元素上。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 乌审旗| 罗平县| 永德县| 兰州市| 鸡泽县| 大厂| 金堂县| 樟树市| 密山市| 慈溪市| 龙海市| 弥勒县| 休宁县| 玉田县| 华阴市| 浮梁县| 含山县| 平定县| 徐水县| 海南省| 台南县| 津市市| 聂拉木县| 马尔康县| 昌黎县| 芜湖县| 临夏县| 湘潭县| 万山特区| 汉源县| 若羌县| 莎车县| 沙坪坝区| 尖扎县| 南漳县| 鞍山市| 启东市| 宣汉县| 拜泉县| 苏州市| 南汇区|