javascript - 初始化 Vue.js 时出现延迟

标签 javascript vue.js

我正在将 Vue.js 嵌入到现有应用程序中。

像这样初始化 Vue.js 时:

new Vue({
    el: "#myDomElement",
    data: myData,
    computed: {
        price: function() { 
            return _this.productPrice(); 
        },
    },
    created: function() { console.log("Vue created."); },
    beforeCompile: function() { console.log("Vue about to compile."); },
    compiled: function() { console.log("Vue compiled."); },
    ready: function() { console.log("Vue ready."); },
});

此时我的代码出现了大约 10 秒的延迟。在此延迟之后,生命周期 Hook (created、beforeCompile 等)都会立即触发。

延迟与 View 无关,即使 myDomElement 是空 div 也会发生延迟。

可能相关:

  • myData 对象不小,但也不大(JSON.stringified 时为 28KB)

  • Vue.js 初始化发生在模块中,该模块通过 modules.export 导出,然后由 Webpack 包装

最佳答案

事实证明,数据对象 myData 过于复杂(并且它比我在原始帖子中所述的要大得多)。

Vue.js 文档指出

It is not recommended to observe complex objects.

see Vue.js docs

我们能够将 myData 对象的一些数据移动到另一个没有数据绑定(bind)的对象,并使应用程序再次顺利运行。

关于javascript - 初始化 Vue.js 时出现延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36647278/

相关文章:

javascript - 需要 Javascript 来更改基于子域名的广告跟踪器 key

javascript - 根据 href 位置执行函数 - 无 jQuery

javascript - 如何在同一个元素中调用onclick两次

javascript - VueJS react 性在 Blade 部分内不起作用

javascript - Vue.js 路由到页面不起作用

vue.js - Nuxt vendor.app 太大,font awesome 太大

javascript - 使用 Javascript 显示和隐藏文本

javascript - 使用 jquery 更改 html 表单元素占位符

javascript - Vue.js:在 laravel 公共(public)文件夹中显示个人资料图片

vue.js - 观点:将 Prop 传递给所有后代