先对左侧菜单栏进行修改:
LeftNav.vue
/
导航一
导航一
运行结果:
然后拿到树新菜单数据;
r然后运用 let url = this.axios.urls.SYSTEM_MENU_TREE;定义路径;
this.axios.post发送请求
写在钩子函数created里面;
/ //拿到树形节点的数据
let url = this.axios.urls.SYSTEM_MENU_TREE;
this.axios.post(url, {})
.then(resp => { //代表成功 箭头函数 jdk8的语法
console.log(resp);
}).catch(function() { //代表失败
});
拿到数据
先定义变量然后赋值
created() {
// 从总线拿到this.collapsed变量
this.$root.bus.$on('collapsed-side', v => {
this.collapsed = v;
});
//拿到树形节点的数据
let url = this.axios.urls.SYSTEM_MENU_TREE;
this.axios.post(url, {})
.then(resp => { //代表成功 箭头函数 jdk8的语法
this.menus=resp.data.result;
console.log(resp);
}).catch(function() { //代表失败
});
}
然后通过变量menus,拿到里面的数据,然后用v-for遍历给树形节点赋值
{{m.treeNodeName}}
{{m2.treeNodeName}}
运行结果:
在el-menv里面写入 router :default-active=“$route.path”
第二步找到放页面的地方,定义锚点
然后定义路由
先写一个Articles.vue
文章管理
index.js
import Vue from 'vue'
import Router from 'vue-router'
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'
import Articles from '@/views/sys/Articles'
Vue.use(Router)
export default new Router({
routes: [
{
path: '/',
name: 'Login',
component: Login
}, {
path: '/Login',
name: 'Login',
component: Login
},{
path: '/Reg',
name: 'Reg',
component: Reg
},
{
path: '/AppMain',
name: 'AppMain',
component: AppMain,
children:[
{
path: '/LeftNav',
name: 'LeftNav',
component: LeftNav
},{
path: '/TopNav',
name: 'TopNav',
component: TopNav
},
{
path: '/sys/Articles',
name: 'Articles',
component: Articles
}
]
}
]
})
运行结果:
先找一个表格模板进行改造
然后定义我们需要的变量
data() {
return {
listData: []/* ,
formInline: {
page: 1,
rows: 10,
title: ''
},
total: 0 */
};
}
然后定义路径,获取数据
created() {
//拿到书籍表的数据
let url = this.axios.urls.SYSTEM_ARTICLE_LIST;
this.axios.post(url, {})
.then(resp => { //代表成功 箭头函数 jdk8的语法
this.listData = resp.data.result;
console.log(resp);
}).catch(function() { //代表失败
});
}
运行结果:
搜索
分页条
定义分页所需要的变量
data() {
return {
listData: [],
formInline: {
page: 1,
rows: 10,
title: ''
},
total: 0
};
}
分页需要的方法:
methods: {
handleSizeChange(rows) {
this.formInline.page = 1;
this.formInline.rows = rows;
this.search();
},
handleCurrentChange(page) {
this.formInline.page = page;
this.search();
}
}
运行结果:半成品
页面代码
搜索
所需变量:
data() {
return {
listData: [],
formInline: {
page: 1,
rows: 10,
title: ''
},
total: 0
};
}
方法:
methods: {
// 页数大小改变方法
handleSizeChange(rows) {
this.formInline.page = 1;
this.formInline.rows = rows;
this.search();
},
// 页码发生改变方法
handleCurrentChange(page) {
this.formInline.page = page;
this.search();
},
// 分页查询方法带参数
doSearch(params) {
let url = this.axios.urls.SYSTEM_ARTICLE_LIST;
// let url = 'http://localhost:8080/T216_SSH/vue/userAction_login.action';
this.axios.post(url, params).then((response) => {
console.log(response);
this.listData = response.data.result;
this.total = response.data.pageBean.total;
}).catch(function(error) {
console.log(error);
});
},
search() {
this.doSearch(this.formInline);
}
},
// 不带参数查询方法
created() {
this.doSearch({});
}
运行结果: