zoukankan      html  css  js  c++  java
  • vue2组件之异步组件...resolve

    看开源项目的时候看到这样的用法:

    发现与之前定义组件的方式不一样,这个resolve又是什么?

    原来这个是vue的异步组件实现,可以看这里:《异步组件

    异步组件的需求:

    在大型应用中,我们可能需要将应用拆分为多个小模块,按需从服务器下载。, Vue.js 允许将组件定义为一个工厂函数,动态地解析组件的定义。Vue.js 只在组件需要渲染时触发工厂函数,并且把结果缓存起来,用于后面的再次渲染。例如:

    Vue.component('async-example', function (resolve, reject) {
      setTimeout(function () {
        // Pass the component definition to the resolve callback
        resolve({
          template: '<div>I am async!</div>'
        })
      }, 1000)
    })

    工厂函数接收一个 resolve 回调,在收到从服务器下载的组件定义时调用。也可以调用 reject(reason) 指示加载失败。这里 setTimeout 只是为了演示。怎么获取组件完全由你决定。推荐配合使用 :Webpack 的代码分割功能

    Vue.component('async-webpack-example', function (resolve) {
      // 这个特殊的 require 语法告诉 webpack
      // 自动将编译后的代码分割成不同的块,
      // 这些块将通过 Ajax 请求自动下载。
      require(['./my-async-component'], resolve)
    })

    你可以使用 Webpack 2 + ES2015 的语法返回一个 Promise resolve 函数:

    Vue.component(
      'async-webpack-example',
      () => import('./my-async-component')
    )
  • 相关阅读:
    数组方法总结
    CSS3总结
    关于h5的一些知识整理
    如何去掉iview里面的input,button等一系列标签自带的蓝色边框
    CSS隐藏多余的文字
    百度搜索之历史搜索记录~
    transform相关~
    有关数组的相关知识~~
    [Javascript]js中所学知识点回顾总结
    js_随即生成多位验证码及变换颜色
  • 原文地址:https://www.cnblogs.com/guazi/p/6761931.html
Copyright © 2011-2022 走看看