②、LeftNav.vue
<el-menu default-active=“2” class=“el-menu-vertical-demo” background-color=“#334157”
text-color=“#fff” active-text-color=“#ffd04b” :collapse=“collapsed” >
导航一
分组一
选项1
选项2
选项3
选项4
选项1
导航二
导航三
导航四
③、TopNav.vue
<img class=“showimg” :src=“collapsed?imgshow:imgsq” @click=“doToggle()”>
超级管理员
设置
个人中心
<el-menu-item @click=“exit()” index=“2-3”>退出
④、导入图片/src/assets/img/…
公共组件在components目录下,业务组件在views目录下
2、配置路由
src/router/index.js
import Vue from ‘vue’
import Router from ‘vue-router’
import HelloWorld from ‘@/components/HelloWorld’
import Login from ‘@/views/Login’
import Reg from ‘@/views/Reg’
import AppMain from ‘@/components/AppMain’
import LeftNav from ‘@/components/LeftNav’
import TopNav from ‘@/components/TopNav’
Vue.use(Router)
export default new Router({
routes: [{
path: ‘/’,
name: ‘Login’,
component: Login
},
{
path: ‘/Reg’,
name: ‘Reg’,
component: Reg
},
{
path: ‘/Login’,
name: ‘Login’,
component: Login
},
{
path: ‘/AppMain’,
name: ‘AppMain’,
component: AppMain,
children: [{
path: ‘/LeftNav’,
name: ‘LeftNav’,
component: LeftNav
},
{
path: ‘/TopNav’,
name: ‘TopNav’,
component: TopNav
}
]
},
]
})
3、登录成功跳主界面
修改登录界面登录成功后跳主界面
src/views/Login.vue(登录) 登录成功跳转到主界面
submitForm() {
let url = this.axios.urls.SYSTEM_USER_DOLOGIN;
this.axios.post(url, this.ruleForm).then((resp) => {
console.log(resp);
if (resp.data.code == 1) {
this.$message({
message: resp.data.msg,
type: ‘success’
});
this.$router.push({path:‘/AppMain’});
} else {
this.$message({
message: resp.data.msg,
type: ‘warning’
});
}
}).catch(function(error) {
console.log(error);
});
}
接下来运行会报一些错,下面会一一解决
①asideClass属性未定义
解决:在AppMain.vue中定义asideClass属性
折叠
.main-aside-collapsed
不折叠
.main-aside
// 导出模块
export default {
**data() {
return {
// 默认为不折叠
asideClass: ‘main - aside’
}
}**
};
②没有注册LeftNav 和TopNav
解决:在AppMain.vue中注册LeftNav和TopNav
// 导出模块
export default {
data() {
return {
// 默认为不折叠
asideClass: ‘main - aside’
}
},
components: {
TopNav,
LeftNav
}
};
③TopNav.vue中collapsed?imgshow:imgsq属性未定义(:src=“collapsed?imgshow:imgsq” )
**:即v-bind:**是vue修饰的属性
解决:在TopNav.vue中定义collapsed?imgshow:imgsq属性
export default {
**data() {
return {
collapsed: false,
imgshow: require(‘@/assets/img/show.png’),
imgsq: require(‘@/assets/img/sq.png’),**
**}
}**
}
要通过require(‘@/’)添加图片的地址(注意/表示src目录下的文件)
collapsed?imgshow:imgsq
三元运算符,当collapsed为true时选择第一个(imgshow),当collapsed为false时选择第二个(imgsq)
将下面不用的属性删除
@open=“handleOpen” @close=“handleClose”
:collapse-transition=“bb”
到这里项目就没有报错了
三,左侧树收缩功能
==========
但是点击收起图标会报错,因为没有定义方法
解决:
①、增加实例
src/main.js
new Vue({
el: ‘#app’,
小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:前端)
Vue
-
什么是MVVM?
-
mvvm和mvc区别?它和其它框架(jquery)的区别是什么?哪些场景适合?
-
组件之间的传值?
-
Vue 双向绑定原理
-
描述下 vue 从初始化页面–修改数据–刷新页面 UI 的过程?
-
虚拟 DOM 实现原理
-
Vue 中 key 值的作用?
-
Vue 的生命周期
-
Vue 组件间通信有哪些方式?
-
vue 中怎么重置 data?
-
组件中写 name 选项有什么作用?
-
Vue 的 nextTick 的原理是什么?
-
Vuex 有哪几种属性?
链图片转存中…(img-4T1iAkft-1710836358494)]
[外链图片转存中…(img-MIPzpTP6-1710836358494)]
[外链图片转存中…(img-LVgO5vs1-1710836358495)]
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:前端)
[外链图片转存中…(img-48Fy4P54-1710836358496)]
Vue
-
什么是MVVM?
-
mvvm和mvc区别?它和其它框架(jquery)的区别是什么?哪些场景适合?
-
组件之间的传值?
-
Vue 双向绑定原理
-
描述下 vue 从初始化页面–修改数据–刷新页面 UI 的过程?
-
虚拟 DOM 实现原理
-
Vue 中 key 值的作用?
-
Vue 的生命周期
-
Vue 组件间通信有哪些方式?
-
vue 中怎么重置 data?
-
组件中写 name 选项有什么作用?
-
Vue 的 nextTick 的原理是什么?
-
Vuex 有哪几种属性?