使用Promisses为命名视图动态导入VueRouter

我正在尝试为Vue-Router动态加载组件视图。使用的import语句是一个Promise,但是即使我链接“ .then”,以防Promise返回另一个Promise,它始终返回Promise而不是实际值作为返回值。请问我我在做什么错?

generatedRoute['component'] = {
                filter_menu_view: import(`../../${this._filter_menu_view_path}.vue`).then((resolve) => resolve),action_page_view: action_page_view.then((resolve) => {
                    return resolve
                }).then((resolve2) => {
                    console.log(resolve2);
                    return resolve2
                }),}

基本上,我尝试实现此https://router.vuejs.org/guide/essentials/named-views.html,但是使用import延迟加载视图。谢谢

liuqian125 回答:使用Promisses为命名视图动态导入VueRouter

这是因为var wishList : Item! override func viewDidLoad() super.viewDidLoad() wishlistImage.image = wishList.image // set label wishlistLabel.text = wishList.title // set wishlist theTableView.wishList = wishList.data theTableView.tableView.reloadData() } 也返回了promise。

您的代码看起来很奇怪,因此很难说出您要做什么,但是通常在使用动态导入时,Vue期望a function returning promise

所以改变

then

filter_menu_view: import(`../../${this._filter_menu_view_path}.vue`).then((resolve) => resolve)

...您正在创建一个返回(组件)promise的函数。 Vue会在需要组件时调用该函数,并等待promise解析以使用filter_menu_view: () => import(`../../${this._filter_menu_view_path}.vue`)

返回的组件

编辑

是的,如果您尝试使用命名视图,则密钥为import,而不是components

本文链接:https://www.f2er.com/2838445.html

大家都在问