亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

Vue異步組件Demo

lovXin / 1977人閱讀

摘要:異步組件在大型應(yīng)用中,我們可能需要將應(yīng)用拆分為多個小模塊,按需從服務(wù)器下載。為了進(jìn)一步簡化,允許將組件定義為一個工廠函數(shù),異步地解析組件的定義。下面是我寫的一個簡單異步組件。

Vue異步組件Demo
在大型應(yīng)用中,我們可能需要將應(yīng)用拆分為多個小模塊,按需從服務(wù)器下載。為了進(jìn)一步簡化,Vue.js 允許將組件定義為一個工廠函數(shù),異步地解析組件的定義。Vue.js 只在組件需要渲染時觸發(fā)工廠函數(shù),并且把結(jié)果緩存起來,用于后面的再次渲染。

下面是我寫的一個簡單Vue異步組件Demo。

index.html



    
        
        
        
        Document
        
        
        
    

    
        
異步組件Async-Comp.js,

注意,Async-Comp.js并沒有在index.html中引用,而是在下面的main.js中動態(tài)加載。

window.async_comp = {
    template: "
        
  1. {{ item }}
", props: { list: Array } };
main.js
var vm = new Vue( {
    el: "#app",
    components: {
        /* 異步組件async-comp */
        "async-comp": function () {
            return {
                /** 要渲染的異步組件,必須是一個Promise對象 */
                component: new Promise( function ( resolve, reject ) {
                    var script = document.createElement( "script" );
                    script.type = "text/javascript";
                    script.src = "/Async-Comp.js";
                    document.head.appendChild( script );

                    script.onerror = function () {
                        reject( "load failed!" );
                    }

                    script.onload = function () {
                        if ( typeof async_comp !== "undefined" )
                            resolve( async_comp );
                        else reject( "load failed!" )
                    }
                } ),
                /* 加載過程中顯示的組件 */
                loading: {
                    template: "

loading...

" }, /* 出現(xiàn)錯誤時顯示的組件 */ error: { template: "

load failed!

" }, /* loading組件的延遲時間 */ delay: 10, /* 最長等待時間,如果超過此時間,將顯示error組件。 */ timeout:3200 } } } } )
see github

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/90402.html

相關(guān)文章

  • Vue.js 子組件異步加載及其生命周期控制

    摘要:本文主要對組件化開發(fā)中子組件的異步加載和其生命周期進(jìn)行一些探討。異步組件討論異步加載,需要先了解下異步組件。生命周期控制在使用子組件或者叫局部注冊時,我們可能需要在子組件實例化或者叫創(chuàng)建完畢后做某些事情。 前端開發(fā)社區(qū)的繁榮,造就了很多優(yōu)秀的基于 MVVM 設(shè)計模式的框架,而組件化開發(fā)思想也越來越深入人心。這其中不得不提到 Vue.js 這個專注于 VM 層的框架。 本文主要對 Vue...

    lidashuang 評論0 收藏0
  • webpack配合vue.js實現(xiàn)完整的單頁面demo

    摘要:本篇文章主要是我在開發(fā)前研究了的單頁面應(yīng)用,因為需要用到的,所以確保安裝了,建議官網(wǎng)安裝最新的穩(wěn)定版本。本文章只是和大家探討怎么利用配合做一個單頁面應(yīng)用,具體關(guān)于里面的內(nèi)容怎么寫并不在本篇文章的介紹范圍。 本篇文章主要是我在開發(fā)前研究了webpack+vue.js的單頁面應(yīng)用,因為需要用到node的npm,所以確保安裝了node,建議官網(wǎng)安裝最新的穩(wěn)定版本。并且在項目中需要加載一些np...

    2450184176 評論0 收藏0
  • SMTC:Vue Single Js Component Manager

    摘要:前言的單文件組件看著十分誘人,必須要上心有不甘,搗騰一番就有了這個不需要也能輕松愉快的用上單文件組件主要針對輕度使用場景,快速應(yīng)用大型應(yīng)用,專業(yè)前端,工程化前端還是更好快速入門單例組件是一種特殊的全局組件,和插件有點相似,只不過插件可以有更 前言 Vue 的單文件組件(Single File Component)看著十分誘人,But 必須要上 webpack心有不甘,搗騰一番就有了這個...

    luxixing 評論0 收藏0
  • Vue.js學(xué)習(xí)系列二 —— vuex學(xué)習(xí)實踐筆記(附DEMO

    摘要:有興趣的同學(xué)可以查看之前發(fā)布的文章學(xué)習(xí)系列一學(xué)習(xí)實踐筆記附學(xué)習(xí)系列二學(xué)習(xí)實踐筆記附學(xué)習(xí)系列三和網(wǎng)絡(luò)傳輸相關(guān)知識的學(xué)習(xí)實踐學(xué)習(xí)系列四打包工具的使用學(xué)習(xí)系列五從來聊聊學(xué)習(xí)系列項目地址項目暫時有點亂,之后會進(jìn)行整理優(yōu)化。 上次學(xué)習(xí)了vue-router的使用,讓我能夠在各個頁面間切換,將頁面搭建了起來。這次則要學(xué)習(xí)vue的狀態(tài)管理模式——vuex。它類似于redux來應(yīng)用的全局狀態(tài)。 注:本...

    DobbyKim 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<