【发布时间】:2019-03-12 22:29:52
【问题描述】:
我正在设计一个基于路由呈现页面的 Vuejs 应用程序。
例如对于
路由 = /,组件 = Main.vue
<template>
<div>
<toolbar :user="user"></toolbar>
<app-content></app-content>
</div>
</template>
路由 = /:user, 组件 = User.vue
<template>
<div>
<toolbar :user="user"></toolbar>
<userHeader></userHeader>
<app-content></app-content>
</div>
</template>
显示页面时,工具栏组件将从服务器获取数据,问题是,当页面从 / 转到 /user 时,数据获取数据 X 2 因为这是应用程序本身的 2 个工具栏组件。
应该如何解决这个问题?这是重用工具栏等共享组件实例的任何方式吗?
或者我应该把设计放在一个完整的组件中吗? (使用 v-if 显示隐藏附加组件)
【问题讨论】:
-
可以分享你写
<router-view/>的模板吗? -
我输入了 index.html。
<div id="app"> <router-view></router-view> </div> -
你可以把
放在 App.vue中,然后为你的两个路由器共享<toolbar .../> -
我觉得问题还是在
使用 import toolbar...会变成一个新的实例。
标签: vue.js components