欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

vue-Element-axios搭建调用api进行数据展示

程序员文章站 2022-08-05 23:37:44
1全局安装vue-cli 2创建项目框架 3依次按照提示输入,项目名、项目描述、项目作者等等, 4.进入vueapi目录 5.安装element-ui 因为是基于Vue.js和elementUI进行的项目开发,所以当然要导入Vue.j包和elementUI包: 6.安装vue-router 要进行页 ......

1全局安装vue-cli

输入命令:npm install vue-cli -g

2创建项目框架

输入命令:vue init webpack vueapi

3依次按照提示输入,项目名、项目描述、项目作者等等,

4.进入vueapi目录

输入命令: cd vueapi

5.安装element-ui

输入命令:npm i element-ui -s

因为是基于vue.js和elementui进行的项目开发,所以当然要导入vue.j包和elementui包:

npm install --save vue element-ui

6.安装vue-router

要进行页面跳转,所以要用到vue-router:

输入命令:npm install --save vue-router

7.安装axios

要从后端获取数据,所以要ajax请求,用vue官方推荐的axios:

输入命令:npm install --save axios

启动项目

输入:npm run dev

构建vue项目目录大致如下:

buid:构建脚本目录
config:构建配置目录
node_modules:依赖node工具包目录
src:源码目录
assets:资源目录
components:组件目录
router:
app.vue 页面vue组件
main.js:页面入口js文件
static:静态文件目录
test:测试文件目录
.eslintrc.js:es语法检查配置
index.html:入口页面
package.json :项目描述文件

 

 调用后台接口:需要引入axios

在main.js 引入

import axios from 'axios'
vue.prototype.$http = axios
vue.prototype.$http.defaults.baseurl = '' // `baseurl` 将自动加在 `url` 前面,除非 `url` 是一个绝对 url

 

如下图(编辑前端页面)

vue-Element-axios搭建调用api进行数据展示

<template>
  <el-container style="height: 680px; border: 10px solid #eee">
    <el-aside width="250px" style="background-color: rgb(238, 241, 246)">
      <el-menu :default-openeds="['1', '3']">
        <el-submenu index="1">
          <template slot="title"
            ><i class="el-icon-message"></i>导航一</template
          >
          <el-menu-item-group>
            <template slot="title"
              >分组一</template
            >
            <el-menu-item index="1-1">选项1</el-menu-item>
            <el-menu-item index="1-2">选项2</el-menu-item>
          </el-menu-item-group>
          <el-menu-item-group title="分组2">
            <el-menu-item index="1-3">选项3</el-menu-item>
          </el-menu-item-group>
          <el-submenu index="1-4">
            <template slot="title"
              >选项4</template
            >
            <el-menu-item index="1-4-1">选项4-1</el-menu-item>
          </el-submenu>
        </el-submenu>
        <el-submenu index="2">
          <template slot="title"
            ><i class="el-icon-menu"></i>导航二</template
          >
          <el-menu-item-group>
            <template slot="title"
              >分组一</template
            >
            <el-menu-item index="2-1">选项1</el-menu-item>
            <el-menu-item index="2-2">选项2</el-menu-item>
          </el-menu-item-group>
          <el-menu-item-group title="分组2">
            <el-menu-item index="2-3">选项3</el-menu-item>
          </el-menu-item-group>
          <el-submenu index="2-4">
            <template slot="title"
              >选项4</template
            >
            <el-menu-item index="2-4-1">选项4-1</el-menu-item>
          </el-submenu>
        </el-submenu>
        <el-submenu index="3">
          <template slot="title"
            ><i class="el-icon-setting"></i>导航三</template
          >
          <el-menu-item-group>
            <template slot="title"
              >分组一</template
            >
            <el-menu-item index="3-1">选项1</el-menu-item>
            <el-menu-item index="3-2">选项2</el-menu-item>
          </el-menu-item-group>
          <el-menu-item-group title="分组2">
            <el-menu-item index="3-3">选项3</el-menu-item>
          </el-menu-item-group>
          <el-submenu index="3-4">
            <template slot="title"
              >选项4</template
            >
            <el-menu-item index="3-4-1">选项4-1</el-menu-item>
          </el-submenu>
        </el-submenu>
      </el-menu>
    </el-aside>

    <el-container>
      <el-header style="text-align: right; font-size: 12px">
        <el-dropdown>
          <i class="el-icon-setting" style="margin-right: 15px"></i>
          <el-dropdown-menu slot="dropdown">
            <el-dropdown-item>查看</el-dropdown-item>
            <el-dropdown-item>新增</el-dropdown-item>
            <el-dropdown-item>删除</el-dropdown-item>
          </el-dropdown-menu>
        </el-dropdown>
        <span>王小虎</span>
      </el-header>

      <el-main>
        <el-table :data="list">
          <el-table-column prop="datatext" label="日期" width="140">
          </el-table-column>
          <el-table-column prop="version" label="姓名" width="120">
          </el-table-column>
          <el-table-column prop="id" label="地址"> </el-table-column>
          <el-table-column prop="text" label="描述"> </el-table-column>
        </el-table>
      </el-main>
    </el-container>
  </el-container>
</template>

css js:

<style>
.el-header {
  background-color: #b3c0d1;
  color: #333;
  line-height: 60px;
}

.el-aside {
  color: #333;
}
</style>

<script>

export default {

  data () {
    const item = {
      date: '2016-05-02',
      name: '王小虎',
      address: '上海市普陀区金沙江路 1518 弄'

    }

    return {
      list: [],
      tabledata: array(20).fill(item)
    }
  },

  created () {
    this.getlist()
  },
  methods: {
    getlist () {
      let _this = this
      _this.$http.get('https://localhost:44314/api/values').then(res => {
        _this.list = res.data
      })
    }
  }
}
</script>

数据填充页面

页面:
  <el-main>
        <el-table :data="list">
          <el-table-column prop="datatext" label="日期" width="140">
          </el-table-column>
          <el-table-column prop="version" label="姓名" width="120">
          </el-table-column>
          <el-table-column prop="id" label="地址"> </el-table-column>
          <el-table-column prop="text" label="描述"> </el-table-column>
        </el-table>
      </el-main>

 

运行如下

vue-Element-axios搭建调用api进行数据展示