赞
踩
2022.10.19今天我学习了如何使用vue+element+admin实现前后端连接。
一、vue.config.js配置文件
首先在vue.config.js配置文件中的devServer添加proxy,如图:
- devServer: {
- port: port,
- open: true,
- overlay: {
- warnings: false,
- errors: true
- },
- proxy:{
-
- [process.env.VUE_APP_BASE_API]:{
-
- // 不需要/api/test
- //换成自己的接口
- target:`http://xxxxxxx`,
- changeOrigin:true,
- pathRewrite:{
- ['^'+process.env.VUE_APP_BASE_API]:''
- }
- }
- },
- // 假数据
- before: require('./mock/mock-server.js')
-
-
- },
二、.env.development配置文件
然后在.env.development配置文件中把VUE_APP_BASE_API的值放空。如图:
- # just a flag
- ENV = 'development'
-
- # base api
- # VUE_APP_BASE_API = ''取空
- VUE_APP_BASE_API = ''
三、api中添加新的js文件
- import request from '@/utils/request'
- // 定义一个接口
- // params传参
- export function ceshi(xxx) {
- return request({
- url: '/api/test',
- method: 'get',
- params:{xxx}
- })
- }
-
-
四、在view中添加新的展示页面
- <template>
- <div>
- <h1 style="text-align: center">天气预报</h1>
-
-
-
- <!-- :data="loadData"存放新数据 -->
- <el-table :data="loadData" style="width: 100%;" >
-
- <el-table-column label="日期" width="180" >
- <template slot-scope="scope">
- <i class="el-icon-time"></i>
- <span style="margin-left: 10px">{{ scope.row.date }}</span>
- </template>
- </el-table-column>
-
- <el-table-column label="风级" width="180">
- <template slot-scope="scope">
- <span style="margin-left: 10px">{{ scope.row.direct }}</span>
- </template>
- </el-table-column>
-
- <el-table-column label="气温" width="180">
- <template slot-scope="scope">
- <span style="margin-left: 10px">{{ scope.row.temperature}}</span>
- </template>
- </el-table-column>
-
- <el-table-column label="天气" width="180">
- <template slot-scope="scope">
- <span style="margin-left: 10px">{{ scope.row.weather }}</span>
- </template>
- </el-table-column>
-
-
-
- <el-table-column label="操作">
- <template slot-scope="scope">
- <el-button size="mini" @click="handleEdit(scope.$index, scope.row)"
- >编辑</el-button
- >
- <el-button
- size="mini"
- type="danger"
- @click="handleDelete(scope.$index, scope.row)"
- >删除</el-button
- >
- </template>
- </el-table-column>
- </el-table>
- <button @click="ceshia()">测试接口</button>
- </div>
- </template>
-
- <script>
- import { ceshi } from "@/api/ceshi";
-
- export default {
- data() {
- return {
- loadData: "",
- city: "",
- tableData: [
- {
- city: "xx",
- date: "2022-10-19",
- temperature: "19/23℃",
- weather: "阴转多云",
- },
- ],
- tableData2: [
- {
- city: "xx",
- date: "2022-10-19",
- temperature: "19/23℃",
- weather: "阴转多云",
- },
- ],
- };
- },
- created: {},
- methods: {
- // 调用api的ceshi方法
- ceshia() {
- console.log(1);
- // ceshi()里面传参
- ceshi("xx").then((res) => {
- console.log(res);
- this.loadData = res.data;
- console.log("loadData", this.loadData);
-
- // for循环嵌套for循环
- // for (let i=0 ; i < this.loadData.length; i++) {
- // console.log(this.loadData[i].class, this.loadData[i].grade);
- // for(let a=0;a<this.loadData[i].student.length;a++){
- // console.log(this.loadData[i].student[a].name,this.loadData[i].student[a].age);
- // }
-
- // }
- });
- },
- },
- };
- </script>
-
- <style>
- button {
- background-color: white;
- }
- </style>
最主要的一点就是res.data的数据赋值给loadData然后在:data中读取。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。