在vue项目中,点击导航栏如何在当前页面刷新内容而不改变侧边栏和头部呢?
部分菜单栏:
<!-- 菜单栏 --> <el-radio-group v-model="isCollapse" style="margin-bottom: 20px;float: left;position: relative;">
<el-radio-button :label="false" style="display: block;">展开</el-radio-button>
<el-radio-button :label="true" style="display: block;">收起</el-radio-button>
</el-radio-group>
<el-menu default-active="1-4-1" class="el-menu-vertical-demo" @open="handleOpen" @close="handleClose"
:collapse="isCollapse" style="position:absolute;top:150px;z-index: 10;">
<el-submenu index="1">
<template slot="title">
<i class="el-icon-location"></i>
<span slot="title">基础数据管理</span>
</template>
<el-menu-item-group>
<span slot="title">质量分析</span>
<el-menu-item index="1-1">产线良率</el-menu-item>
<el-menu-item index="1-2">返修产线良率</el-menu-item>
<el-menu-item index="1-3">托盘良率</el-menu-item>
<el-menu-item index="1-4">工站良率</el-menu-item>
<el-menu-item index="1-5">返修工位良率</el-menu-item>
</el-menu-item-group>
想实现点击某个导航,能在当前页面替换原有的内容,呈现新内容
回答:
不要让更新全部的就行
1,安装Vue Router
npm install vue-router --save
2,在main.js中引入Vue Router并设置路由
import Vue from 'vue'import VueRouter from 'vue-router'
import App from './App.vue'
Vue.use(VueRouter)
const router = new VueRouter({
routes: [
{ path: '/', component: Home },
{ path: '/about', component: About },
{ path: '/contact', component: Contact },
{ path: '/blog', component: Blog }
]
})
new Vue({
el: '#app',
router,
render: h => h(App)
})
3,在导航栏组件中使用router-link标签来实现路由跳转
<el-menu-item index="1-1"> <router-link to="/blog">Blog</router-link>
</el-menu-item>
4,在App.vue组件中使用router-view标签来显示当前路由的组件内容
<template> <div id="app">
<Header />
<div class="container">
<Sidebar />
<div class="main">
<router-view></router-view>
</div>
</div>
<Footer />
</div>
</template>
这样,当你点击导航栏中的某个链接时,路由会根据路径自动切换到对应的组件,并在当前页面替换原有内容呈现新内容。同时,侧边栏和头部组件仍然保持不变。带入修改下试试!
回答:
组件形式的解(我看你大约需要这个)主要是设计思路的问题,
主要有三个实现形式:
v-if-else(暴力切换):每个页面做组件和路由一个思路暴力切换
compents(组件的数据覆盖):内容差不多的情况下,通过 props 传递表格配置和请求接口
tabs(标签页切换):tabs 的标签做成检索条件
具体怎么写应该知道的吧?
路由形式的解,
如果是这个版本的还是跟着Vue教程重新学习一下
页面大概这样写排版
Home.vue
div
Nav
Side
router-view
路由大概这样配置:
router/index.js
{
path: '/web',
component: Home,
children: [
{ path: '/main', component: Main },
{ path: '/user', component: User },
]
},
回答:
还是重新看一下这个
https://router.vuejs.org/zh/guide/
现在的Vue项目基本都是题目问的那样, 下面是基本思路:
在router/index.js文件中定义路由:
import Vue from 'vue'import Router from 'vue-router'
import HomePage from '@/components/HomePage'
import ContactPage from '@/components/ContactPage'
Vue.use(Router)
export default new Router({
routes: [
{
path: '/',
name: 'HomePage',
component: HomePage
},
{
path: '/contact',
name: 'ContactPage',
component: ContactPage
}
]
})
在App.vue文件中定义导航栏并使用<router-view>标签显示页面内容:
<template> <div id="app">
<header>
<!-- 头部内容 -->
</header>
<nav>
<ul>
<li><router-link to="/">Home</router-link></li>
<li><router-link to="/contact">Contact</router-link></li>
</ul>
</nav>
<main>
<router-view></router-view>
</main>
</div>
</template>
在HomePage和ContactPage组件中定义页面内容就可以了
主要的就是这个:
以上是 在vue项目中,点击导航栏如何在当前页面刷新内容而不改变侧边栏和头部呢? 的全部内容, 来源链接: utcz.com/p/934247.html