2019-02-27 vue组件基础篇7

  • 异步组件

在大型应用中,我们可能需要将应用分割成小一些的代码块,并且只在需要的时候才从服务器加载一个模块。

Vue.js只在组件需要渲染时触发工厂函数,并且把结果缓存起来,用于后面的再次渲染。
工厂函数接收一个resolve回调,在收到从服务器下载的组件定义时调用。也可以调用reject(reason)指示加载失败。这里setTimeout只是为了演示异步,具体的下载逻辑可以自己决定,比如把组件配置写成一个对象配置,通过Ajax来请求,然后调用resolve传入配置选项。

所谓工厂函数,就是指这些内建函数都是类对象,当你调用他们时,实际上是创建了一个类实例。
1.它是一个函数
2.它用来创建对象
3.它像工厂一样,“生产”出来的函数都是“标准件”拥有同样的属性

<div id="app">
        <child-component></child-component>
</div>
<script>
        Vue.component('child-component', function(resolve, reject) {
            window.setTimeout(function () {
                resolve({
                    template: '<div>我是异步渲染的</div>'
                })
            }, 2000);
        })

        var app = new Vue({
            el: '#app'
        })
</script>
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,681评论 1 32
  • 什么是组件? 组件 (Component) 是 Vue.js 最强大的功能之一。组件可以扩展 HTML 元素,封装...
    youins阅读 9,709评论 0 13
  • 概述 在我们平时的开发工作中,为了减少首屏代码体积,往往会把一些非首屏的组件设计成异步组件,按需加载。Vue 也原...
    LoveBugs_King阅读 2,004评论 0 1
  • 这篇笔记主要包含 Vue 2 不同于 Vue 1 或者特有的内容,还有我对于 Vue 1.0 印象不深的内容。关于...
    云之外阅读 5,185评论 0 29
  • 过人的日子,发现修炼的考场能清晰的看见自己的习性。 发现自己在安静的享受着干活,没有抱怨没有看别人,没有比较,只是...
    薛贵敏阅读 212评论 0 0

友情链接更多精彩内容