異步組件——通過條件預先劃定不同temp模板

需求:有些組件需要的temp模板是根據(jù)父組件傳進來不同的參數(shù)渲染不同的temp模板棍辕,和不同的data。此時異步組件就可以用到了

使用前,須知:

vue有兩種形式的代碼 compiler(模板)模式和runtime模式(運行時),vue模塊的package.json的main字段默認為runtime模式捐晶, 指向了"dist/vue.runtime.common.js"位置

vue中runtimecompiler和runtimeonly的區(qū)別

開發(fā)中,你依然使用template妄辩,就需要選擇runtimecompiler
開發(fā)中惑灵,使用的是.vue文件夾開發(fā),那么可以選擇runtimeonly

runtimecompiler

image.png

Vue中的模板如何最終渲染成真實DOM
template -> ast -> render -> vdom -> UI

runtimeonly

image.png

Vue中的模板如何最終渲染成真實DOM
render -> vdom -> UI

Vue默認走runtimecompiler形式.runtime-only比runtime-compiler更快眼耀,因為它省略了vue內(nèi)部過程中的第一個過程英支,如果是runtime-compiler那么main.js中就會出現(xiàn)template從而需要過程一導致增加了一個過程,同時增加了大小而 runtime-only 模式中不是沒有寫 template 畔塔,只是把 template 放在了.vue 的文件中了并有一個叫 vue-template-compiler的在開發(fā)依賴時將.vue文件中的 template 解析成 render 函數(shù)了因為是開發(fā)依賴潭辈,不在最后生產(chǎn)中鸯屿,所以最后生產(chǎn)出來的運行的代碼沒有template

如果需要用到extends或者異步組件提前劃定不同temp就需要用到runtimeCompiler模式

解決方法在vue.config中增加個配置就可以了
runtimeCompiler: true

異步組件使用示例:

<template>
  <div>
    異步
    <async-demo  v-if="isShow"/>
  </div>
</template>

<script>
import Vue from 'vue';

export default {
  data(){
    return{
      isShow:false,
    }
  },
   mounted(){
       //此處先編輯號模板
        const Demo=Vue.component('async-demo',function(resolve,reject){
          resolve({
            template:`<div>{{name}}</div>`,
            data(){
              return {
                name:'測試'
              }
            },
          
          })
        })
        // 當為真時渲染異步組件
        this.isShow=true;
  }
}
</script>

<style>

</style>

渲染后:

image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末澈吨,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子寄摆,更是在濱河造成了極大的恐慌谅辣,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,816評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件婶恼,死亡現(xiàn)場離奇詭異桑阶,居然都是意外死亡,警方通過查閱死者的電腦和手機勾邦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,729評論 3 385
  • 文/潘曉璐 我一進店門蚣录,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人眷篇,你說我怎么就攤上這事萎河。” “怎么了?”我有些...
    開封第一講書人閱讀 158,300評論 0 348
  • 文/不壞的土叔 我叫張陵虐杯,是天一觀的道長玛歌。 經(jīng)常有香客問我,道長擎椰,這世上最難降的妖魔是什么支子? 我笑而不...
    開封第一講書人閱讀 56,780評論 1 285
  • 正文 為了忘掉前任,我火速辦了婚禮达舒,結(jié)果婚禮上值朋,老公的妹妹穿的比我還像新娘。我一直安慰自己巩搏,他們只是感情好吞歼,可當我...
    茶點故事閱讀 65,890評論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著塔猾,像睡著了一般篙骡。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上丈甸,一...
    開封第一講書人閱讀 50,084評論 1 291
  • 那天糯俗,我揣著相機與錄音,去河邊找鬼睦擂。 笑死得湘,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的顿仇。 我是一名探鬼主播淘正,決...
    沈念sama閱讀 39,151評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼臼闻!你這毒婦竟也來了鸿吆?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,912評論 0 268
  • 序言:老撾萬榮一對情侶失蹤述呐,失蹤者是張志新(化名)和其女友劉穎惩淳,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體乓搬,經(jīng)...
    沈念sama閱讀 44,355評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡思犁,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,666評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了进肯。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片激蹲。...
    茶點故事閱讀 38,809評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖江掩,靈堂內(nèi)的尸體忽然破棺而出学辱,到底是詐尸還是另有隱情含蓉,我是刑警寧澤,帶...
    沈念sama閱讀 34,504評論 4 334
  • 正文 年R本政府宣布项郊,位于F島的核電站馅扣,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏着降。R本人自食惡果不足惜差油,卻給世界環(huán)境...
    茶點故事閱讀 40,150評論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望任洞。 院中可真熱鬧蓄喇,春花似錦、人聲如沸交掏。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽盅弛。三九已至钱骂,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間挪鹏,已是汗流浹背见秽。 一陣腳步聲響...
    開封第一講書人閱讀 32,121評論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留讨盒,地道東北人解取。 一個月前我還...
    沈念sama閱讀 46,628評論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像返顺,于是被迫代替她去往敵國和親禀苦。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,724評論 2 351

推薦閱讀更多精彩內(nèi)容