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>

  • 相关阅读:
    第二十三篇 jQuery 学习5 添加元素
    第二十二篇 jQuery 学习4 内容和属性
    第二十一篇 jQuery 学习3 特效效果
    第二十篇 jQuery 初步学习2
    第十九篇 jQuery初步学习
    第十八篇 JS传参数
    第十七篇 JS验证form表单
    第十六篇 JS实现全选操作
    第十五篇 JS 移入移出事件 模拟一个二级菜单
    第十四篇 JS实现加减乘除 正则表达式
  • 原文地址:https://www.cnblogs.com/a438842265/p/11934477.html
Copyright © 2011-2022 走看看