No More Posting New Topics!

If you have a question or an issue, please start a thread in our Github Discussions Forum.
This forum is closed for new threads/ topics.

Navigation

    Quasar Framework

    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search

    Quasar layout and vue-router issue

    Help
    1
    2
    1360
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • J
      jctrebalag last edited by jctrebalag

      Hi all,
      I’m currently dealing with an issue while trying to apply a layout to all my pages. The layout appears but the content doesn’t (e.g. root route).

      Is it the best way to add my layout on all my views ? Doc isn’t really clear on this point (at least for me)

      Thanks in advance for your help !

      My router is as following:

      export default new VueRouter({
        mode: 'history',
        routes: [
          {
            path: '/',
            components: {
              nav: load('Layout/Navigation'),
              default: load('Home/Home')
            }
          },
         {
          path: '/home',
          name: 'home',
          title: 'Accueil',
          component: load('Home/Home')
        },
      // Always leave this last one
        { path: '*', component: load('Error404') } // Not found
       ]
      })
      

      App.vue :

      <template>
        <!-- Don't drop "q-app" class -->
        <div id="web-app">
          <router-view name="nav" />
        </div>
      </template>
      

      Navigation.vue:

      <q-layout>
        header...
      
        <router-view />
      
        footer...
      
      </q-layout>
      1 Reply Last reply Reply Quote 0
      • J
        jctrebalag last edited by

        Problem solved ! I ended up with the following for my router :

        export default new VueRouter({
        mode: ‘history’,
        routes: [
        {
        path: ‘/’,
        component: load(‘Layout/Navigation’),
        children: [
        {
        path: ‘’,
        component: load(‘Home/Home’)
        },
        {
        path: ‘home’,
        name: ‘home’,
        title: ‘Accueil’,
        component: load(‘Home/Home’)
        }
        ]
        },
        // Always leave this last one
        { path: ‘*’, component: load(‘Error404’) } // Not found
        ]
        })
        and in App.vue:

        <template>
        <div id=“web-app”>
        <router-view />
        </div>
        </template>

        1 Reply Last reply Reply Quote 1
        • First post
          Last post