为什么vue的异步组件加载顺序错误?

发布于 2022-09-11 20:08:22 字数 1018 浏览 16 评论 0

每次触发路由的时候,自动调用接口拉取远程的组件配置,进行渲染

 var routes_config = [
       {path:'/sider'},
       {path:'/user'}
       ]

// 将全局路由进行注册
var routes = {
    routes: (function() {
        var list = new Array()
        for (var i in routes_config) {
            list.push({
                path: routes_config[i].path,
                component: function(resolve, reject) {
                    resolve({
                        template: "<h1>"+i+ "</h1>"
                    })
                }
                // axios.get(routes_config[i].component_url).then(response => {
                //     resolve({
                //         template: response.data
                //     })
                // })
            })
        }
        return list
    })()
}
console.info(routes)
const router = new VueRouter(routes)
new Vue({
    router: router,
    render: h => h(App),
}).$mount('#app');

错误:
无论请求 /sider 还是/user 总是返回 i等于1

期望:
请求/user 返回 1,请求/sider 返回 0

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

蔚蓝源自深海 2022-09-18 20:08:22

作用域的原因,把var 改为let

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文