传统的后台管理系统有很多功能模块,需要写很多网页。我们可以使用Vue,通过vue的路由和组件功能,只写一个页面就可以完成一个管理系统。
全局引入的好处:全局引入axios后,所有组件都可以使用axios,而不需要重复配置和引入依赖。
3.1封装axios的get方法
/** * 1、我们自己封装的、同步ajax请求方法 * 2、也是get请求,同步德get请求 * @param url * @returns {Promise<*>} */ axios.loadData = async function (url) { const resp = await axios.get(url); return resp.data; }3.2在组件中调用封装好的loadData同步ajax方法
/** * 1、async和下面的await配合使用 * 2、如果不加这个关键字的话,js的ajax请求默认是异步的,也就是说,下面方法里的两个请求,不管成功与失败,后面的代码都会执行 * 3、这里我们的业务逻辑是,如果ajax请求数据失败的话,显示编辑框也没有意义 * 4、所以加上同步关键字,让ajax变成同步的,让他们顺序执行,如果请求失败,后面就别执行了 * 5、注意,loadData方法,是我们自己封装的。点进去看看。 */ async editGoods(oldGoods) { // 发起请求,通过spuID 查询商品详情和skus oldGoods.spuDetail = await this.$http.loadData("/item/spu/detail/" + oldGoods.id); oldGoods.skus = await this.$http.loadData("/item/sku/list?id=" + oldGoods.id); // 修改标记 this.isEdit = true; // 控制弹窗可见: this.show = true; // 获取要编辑的goods this.oldGoods = oldGoods; },
