vue.js - 使用 Vue 路由器加载组件
问题描述
我想像这样一次加载 3 个组件:
<app-header />
<app-main />
<app-footer />
Router View
但我也想在这个页面上加载。
<app-header />
<router-view />
<app-footer />
虽然我将单击router-link
然后<app-main />
将消失并<router-view />
可见。
没有 if 或 show 有没有更好的方法来处理它?
解决方案
您可以通过插槽将路由器视图传递给您的应用程序主组件,如下所示:
<app-header />
<app-main>
<router-view/>
</app-main>
<app-footer />
您还需要在您的 app-main 组件中插入一个插槽标签,如下所示:
<template>
<!-- your code -->
<slot></slot>
<!-- ... -->
</template>
有关更多详细信息,请访问https://vuejs.org/v2/guide/components-slots.html
推荐阅读
- swift - 试图快速调用选择器到静态函数
- r-markdown - 阻止 knitr 剥离 kable 中的填充空间
- php - 如何在php中共享电报共享链接上的多个值?
- c# - 为什么 Umbraco 模板(视图)不是 Visual Studio 中解决方案/项目的一部分?
- mongodb - 需要在嵌套的 MONGODB 文档中查找最后一个值
- javascript - Vuex 模块状态不会在热重载时更新
- python - 使用 Python 从数据库中提取
- android - 在 Android 中计算函数执行过程中的进度
- python - 插入可变数量的列时正确格式化 SQL 查询
- visual-studio-code - 注释折叠代码块会使其在 Visual Studio 代码中展开