zoukankan      html  css  js  c++  java
  • vue学习(六)异步组件加载

    异步组件加载

    首先准备-----简单的框架搭出来

    <!DOCTYPE html>
    <html lang="zh-CN">
    <head>
        <meta charset="UTF-8">
        <title>异步组件加载</title>
        <meta name="viewport" content="width=device-width ,initial-scale=1">
        <script src="https://cdn.jsdelivr.net/npm/vue"></script>
    </head>
    <body>
    
    <div id="app">
        <App></App>
    </div>
    
    <script>
        const App={
            data(){
                return{
                    msg:'异步组件加载'
                }
            },
            template:`<div>{{msg}}</div>`,
        };
        let app = new Vue({
            el:'#app',
    
            template:``,
            components:{
                App
            }
        })
    </script>
    </body>
    </html>

    在新建一个Text.js文件

    export default {
    
        data() {
            return {
                msg: '小朋友'
            }
        },
        template: `<div>{{msg}}</div>`,
    }

    总代码

    1. 里面标签的改变

    2.刚开始只有vue.js的加入 在点击之后 Text.js被加载

    3.要用一个工厂函数

    <!DOCTYPE html>
    <html lang="zh-CN">
    <head>
        <meta charset="UTF-8">
        <title>异步组件加载</title>
        <meta name="viewport" content="width=device-width ,initial-scale=1">
        <script src="../no2_组件/vue.js"></script>
        <!--<script src="https://cdn.jsdelivr.net/npm/vue"></script>-->
    </head>
    <body>
    
    <div id="app">
        <App></App>
    </div>
    
    <script type="module">
    
        const App = {
            data() {
                return {
                    isShow:false
                }
            },
            methods:{
                asyncLoad(){
                      this.isShow = !this.isShow
                }
            },
            template: `<div>
                        <button @click="asyncLoad">异步组件加载</button>
                        <Test v-if="isShow"></Test>
                    </div>`,
            components: {
                Test:()=>import('./Test.js')                             //  工厂函数   import导入
            }
        };
        let app = new Vue({
            el: '#app',
    
            template: ``,
            components: {
                App
            }
        })
    </script>
    </body>
    </html>

  • 相关阅读:
    Ensemble ID及转换
    FastQC及MultiQC整合使用
    Aspera下载安装使用
    RStudio代码折叠
    两样本检验
    单样本t检验,Python代码,R代码
    rMATS输出结果文件只有表头
    使用DiffBind 进行ATAC-seq peaks差异分析
    error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared
    Python遗传算法初尝,火狐像素进化
  • 原文地址:https://www.cnblogs.com/a438842265/p/11934477.html
Copyright © 2011-2022 走看看