vuex存取数据展示在table里-----第一次实现
之前也看了vuex的文档,对它的原理只是了解,看代码(仅自己复习、做笔记)
流程是在组件的created中提交dispatch,然后通过action调用一个封装好的axios然后再触发mutation来提交状态改变state中的数据,然后在组件的计算属性中获取state的数据并渲染在页面上。
state //date
mutations //computed
actions //methods
mock.js文件 模拟user列表
- /*user列表*/
- Mock.mock('/api/getUserInfo','post', {
- "data|10-20": [
- {
- "_id": /\d{9}/,
- "date": Random.date('yyyy-MM-dd'),
- "name": "@cname",
- "address": Random.city(true),
- "sex|1": [
- "男",
- "女"
- ]
- }
- ]
- })
目录结构:
fetch /api.js主要是请求数据的,这个可以看情况而定,我觉得是多余了,暂时还没有更改
用的vuex的模块化处理,这样感觉高效,适用与大型项目,这里就不一一陈述用法,就是简单的配置,然后将文件导出放在index.js文件里(出口文件?)
fetch/api.js
- import axios from 'axios'
- export function fetch(url,params) {
- return new Promise((resolve, reject) => {
- axios.post(url, params)
- .then(res => {
- console.log('api---ok');
- console.log(res.data)
- resolve(res.data)
- })
- .catch((error) => {
- console.log(error)
- reject(error)
- })
- })
- }
- export default {
- getList() {
- console.log('进入api.js')
- return fetch('/getUserInfo') //这是我user的mock模拟的接口
- }
- }
userList.js
- import api from './../../fetch/api'
- const userList = {
- state: {
- userListData: [],
- },
- mutations: {
- SET_DATELIST:(state,res) => {
- console.log('进入mutations');
- console.log(res)
- state.userListData = res.data
- console.log(state.userListData)
- },
- },
- actions: {
- getList({ commit, state }){
- console.log('进入action');
- api.getList().then(res =>{
- console.log('axios中调用封装后的axios成功');
- commit('SET_DATELIST', res)
- })
- }
- },
- getters: {}
- };
- export default userList
然后再页面中使用,这里我用了...Map
- <template>
- <el-table :data="userListData" height="450" border style="width: 100%">
- <el-table-column prop="_id" label="id" width="180"></el-table-column>
- <el-table-column prop="date" label="注册日期" width="180"></el-table-column>
- <el-table-column prop="name" label="用户姓名" width="180"></el-table-column>
- <el-table-column prop="sex" label="性别" width="180"></el-table-column>
- <el-table-column prop="address" label="注册地址"></el-table-column>
- </el-table>
- </template>
- <script>
- import { mapState, mapActions } from 'vuex';
- export default {
- name: 'userList',
- data() {
- return {
- // userListData: []
- }
- },
- // methods:{
- // getList(){
- // this.$axios.post('/getUserInfo').then( res => {
- // console.log(res);
- // this.userListData = res.data
- // })
- // }
- // },
- // created: function () {
- // this. getList();
- // }
- created() {
- this.$store.dispatch('getList'); //提交siapatch
- },
- computed: {
- ...mapState({
- userListData: state => state.userList.userListData /*从vuex中获取到数据*/
- })
- }
- }
- </script>
- <style scoped>
- .el-row{
- margin:20px auto;
- }
- </style>
然后就可以在页面展示了,这里写这个的目的是想让自己加深对vuex触发的流程更加熟悉,里面有很多打印,可以加深理解。
vuex存取数据展示在table里-----第一次实现的更多相关文章
- bootstrap table通过ajax获取后台数据展示在table
1. 背景 bootstrap table 默认向后台发送语法的dataType为 json,但是为了解决跨域问题我们需要将dataType改为jsonp,这时就需要修改bootstrap table ...
- 为什么Vuex内数据改变了而组件没有进行更新?
这两天在进行一个首页的制作,结果就碰到了标题上所述的问题了,用了一天的时间在网上查资料.终于找出了问题所在 Vuex的数据写在store里,在组件中需要用到this.$store.commit() 来 ...
- 使用C#或javascript将Table里的数据导出到Excel
原文:使用C#或javascript将Table里的数据导出到Excel Demo效果图: 用C#将Table数据导出Excel: 本方法已经将导出excel做成分部视图,引用时只需在视图中使用如下代 ...
- django学习-27.admin管理后台里:对列表展示页面的数据展示进行相关优化
目录结构 1.前言 2.完整的操作步骤 2.1.第一步:查看ModelAdmin类和BaseModelAdmin类的源码 2.2.第二步:查看表animal对应的列表展示页面默认的数据展示 2.3.第 ...
- LigerUI之Grid使用详解(三)——字典数据展示
一.问题概述 在开发web信息管理系统时,使用Web前端框架可以帮助我们快速搭建一组风格统一的界面效果,而且能够解决大多数浏览器兼容问题,提升开发效率.在关于LigerGrid的前两篇的内容里,给大家 ...
- 手把手教你写带登录的NodeJS爬虫+数据展示
其实在早之前,就做过立马理财的销售额统计,只不过是用前端js写的,需要在首页的console调试面板里粘贴一段代码执行,点击这里.主要是通过定时爬取https://www.lmlc.com/s/web ...
- hugegraph 数据存取数据解析
hugegraph 是百度开源的图数据库,支持hbase,mysql,rocksdb等作为存储后端.本文以EDGE 存储,hbase为存储后端,来探索是如何hugegraph是如何存取数据的. 存数据 ...
- EasyUI-datagrid数据展示+MongoDB数据操作
使用EasyUI-datagrid进行数据展示:进行添加,修改,删除操作逻辑代码,数据源来自MongoDB. 一.新建SiteInfo控制器,添加Index页面:http://www.cnblogs. ...
- 【助教】Java获取数据库数据展示
本文将给出一个最简单的Java查询数据库中一张表的数据并将查询结果展示在页面的例子. 实际上,我们要解决以下两个问题: Java与数据库交互(以JDBC为例) 数据展示在前台页面(以Servlet+J ...
随机推荐
- rpmbuild - 构建 RPM 打包
SYNOPSIS 构建打包: rpmbuild {-ba|-bb|-bp|-bc|-bi|-bl|-bs} [rpmbuild-options] SPECFILE ... rpmbuild {-ta| ...
- 05.Linux-CentOS系统普通用户SSH远程问题
问题:appuser用户SSH远程连接Linux服务器出现的问题: Connecting?to?localhost:22...Connection?established.To?escape?to?l ...
- 《程序员的呐喊》:一个熟悉多种语言的老程序员对编程语言、开发流程、google的战略等的思考,比较有趣。 五星推荐
作者熟悉二三十种编程语言,写了20多年代码.本书是作者对编程语言.开发流程.google的战略等的思考.比较有趣. 前面部分是作者对编程语言的一些思考.作者鄙视C++, Java,面向对象.比较有趣的 ...
- Sass函数:数学函数-abs函数
abs( ) 函数会返回一个数的绝对值. >> abs(10) 10 >> abs(-10) 10 >> abs(-10px) 10px >> abs( ...
- elasticsearch相关聚合查询示例
索引(index):logstash-nginx-*,type:nginx_access 请求路径: 1.按照某个字段进行分组统计访问量 { "query": { "bo ...
- vsftpd配置详解
匿名用户权限控制: anonymous_enable=YES #是否启用匿名用户 no_anon_password=YES #匿名用户login时不询问口令 anon_upload_enable=(y ...
- Go 使用切片
1.使用切片字面量来声明切片 // 创建一个整型切片 // 其容量和长度都是 5 个元素 slice := [], , , , } // 改变索引为 1 的元素的值 slice[] = 2.使用切片创 ...
- $Noip$前的小总结哦
考试失误点与积累 有点不知道该干嘛了,状态有点差,写点东西.(后面可能会加更一点东西?) 常规错误 \(1.\) 数组开小 \(2.\) \(int\)和\(longlong\) \(3.\) 开某题 ...
- MinMax 容斥 学习笔记
基本形式 \[ \max(S) = \sum_{T\subseteq S, T \neq \varnothing} (-1)^{|T|-1}\min(T) \] 证明 不提供数学证明. 简要讲一下抽象 ...
- bzoj4922 [Lydsy1706月赛]Karp-de-Chant Number 贪心+背包
题目传送门 https://lydsy.com/JudgeOnline/problem.php?id=4922 题解 记录每一个串的没有匹配的右括号 \()\) 的数量为 \(a_i\),为匹配的左括 ...