Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在quasar中,如何将数据从页面传递到布局_Javascript_Vue.js_Quasar Framework - Fatal编程技术网

Javascript 在quasar中,如何将数据从页面传递到布局

Javascript 在quasar中,如何将数据从页面传递到布局,javascript,vue.js,quasar-framework,Javascript,Vue.js,Quasar Framework,在中,我有几个屏幕共享相同的布局,如产品和客户列表 但是,我不知道如何将数据从页面传递到它们的布局。例如,布局有一个标题,我希望根据显示的页面进行更改: //Routes: { path: '/orders', component: () => import('layouts/list'), children: [ { name: 'pickCustomer', path: '/customer', component: () => impor

在中,我有几个屏幕共享相同的布局,如产品和客户列表

但是,我不知道如何将数据从页面传递到它们的布局。例如,布局有一个标题,我希望根据显示的页面进行更改:

//Routes:
  {
    path: '/orders',
    component: () => import('layouts/list'),
    children: [
      { name: 'pickCustomer', path: '/customer', component: () => import('pages/CustomersList') },
      { name: 'pickProducts', path: '/products/:customer_id', component: () => import('pages/AddProductsList') },
      { name: 'addProduct', path: '/addproduct/:order_id/:product_id', component: () => import('pages/AddProductsList') },
      { name: 'confirmOrder', path: '/confirm/:order_id', component: () => import('pages/AddProductsList') }
    ]
  }

//list.vue
    <template>
      <q-layout>
        <q-layout-header>
            <q-toolbar>
            <q-btn
                flat
                round
                dense
                icon="chevron_left"
                @click="leftDrawer = !leftDrawer"
            />
            <q-toolbar-title>
                {{title}}
            </q-toolbar-title>
            <q-btn flat round dense icon="save" label="Add" />
            </q-toolbar>

            <q-toolbar>
            <q-toolbar-title>
                <q-search v-model="search" @input="change" inverted color="none" />
            </q-toolbar-title>
            </q-toolbar>
        </q-layout-header>          </q-layout>
    </template>

    <script>    
    export default {
      // name: 'LayoutName',
    }
    </script>

//Customers.vue
<template>
</template>

<script>
import CustomersRows from '../statics/json/customers.json'

export default {
  data () {
    return {
      title: 'Customers', <--HOW TO PASS THIS?
    }
  }
}
</script>
//路由:
{
路径:'/orders',
组件:()=>导入('layouts/list'),
儿童:[
{名称:'pickCustomer',路径:'/customer',组件:()=>import('pages/CustomerList')},
{name:'pickProducts',路径:'/products/:customer_id',组件:()=>import('pages/AddProductsList')},
{name:'addProduct',路径:'/addProduct/:order_id/:product_id',组件:()=>import('pages/AddProductsList'),
{name:'confirmOrder',路径:'/confirm/:order_id',组件:()=>import('pages/AddProductsList')}
]
}
//list.vue
{{title}}
导出默认值{
//名称:“LayoutName”,
}
//客户.vue
从“../statics/json/customers.json”导入CustomerRows
导出默认值{
数据(){
返回{
标题:“客户”,查看此问题的一个非常健壮的解决方案


在您的页面中,您可以将“门户”添加到标题中,标题是“门户目的地”。这允许您从任何位置修改标题。

您需要在路由中使用meta。在布局中,请使用此选项:


{{$route.meta.title}
您可能拥有的任何默认标题
或者简单地说:


{{$route.meta.title | |'您可能拥有的任何默认标题'}}
这可以在您的路线中设置,如下所示:

[
{path:'/',meta:{title:'Dashboard'}},
{path:'/route-1',meta:{title:'route 1'},
]

以上代码应始终显示第一个子组件。您如何将
重定向到其他组件?我不理解这个问题。此外,这是完整代码的简短示例。您可以分叉,然后发布代码,我们可以从那里帮助您。无法从布局访问页面?我的想法是您可能会误解Vue r的方式外部和
有效。但您没有在
和主页上提供代码,因此无法确定如何操作。请注意,此路由元解决方案适用于嵌套路由!Vue路由器将遍历树,直到找到匹配项,因此将使用最具体的标题。