framework7io / framework7-vue

Deprecated! Build full featured iOS & Android apps using Framework7 & Vue
http://framework7.io/vue/
MIT License
674 stars 151 forks source link

Async route and routable tabs #410

Closed an9949an closed 5 years ago

an9949an commented 6 years ago

This is a (multiple allowed):

What you did

Async route with routable tabs.

{
    path: '/example/',
    async(routeTo, routeFrom, resolve) {...}
    ...
    tabs: [...],
}

Expected Behavior

When I resolve page with tabs, load this page. When I resolve some other page without tabs(login in my case) load it without tabs.

Actual Behavior

f7 try to find tab elements on the page(login page dont have it in my case, for example) and show error:

vue.esm.js:1741 TypeError: Cannot read property 'vue' of undefined at Router.tabComponentLoader (framework7-vue.esm.bundle.js:175) at loadTab (framework7.esm.bundle.js:3670) at eval (framework7.esm.bundle.js:3693) at Array.forEach () at Router.tabLoad (framework7.esm.bundle.js:3691) at Router.forward (framework7.esm.bundle.js:3240) at resolve (framework7.esm.bundle.js:3394) at VueComponent.eval (framework7-vue.esm.bundle.js:144) at Array.eval (vue.esm.js:1837) at flushCallbacks (vue.esm.js:1758)

Suggestion for improvement

Allow to invoke "resolve" function with "tabs" property. For example:

resolve({
  component: ExampleComponent,
  tabs: [...]
})