Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >vuex和axios调试

vuex和axios调试
EN

Stack Overflow用户
提问于 2017-05-11 12:24:12
回答 1查看 3.1K关注 0票数 0

我要疯了,我有一个可以发送数据的工作api,我把它连接到一个VueJS应用程序上,它运行得很好。我在努力实现Vuex而我被困住了。这是我的store.js文件

代码语言:javascript
运行
AI代码解释
复制
import Vue from 'vue';
import Vuex from 'vuex';
import axios from 'axios'
Vue.use(Vuex);

const state = {
        message: "I am groot",
        articles: []
    }
const getters = {
        getArticles: (state) => {
            return state.articles;
        }
    }
const actions = {
          getArticles: ({ commit }, data) => {
            axios.get('/articles').then( (articles) => {
                commit('GET_ARTICLES', articles);
                console.log(articles); // Trying to debug
            }, (err) => {
                console.log(err);
            })
          }
    }
const mutations =  {
        GET_ARTICLES: (state, {list}) => {
            state.articles = list;
        }   
    }
const store = new Vuex.Store({
    state,
    getters,
    mutations,
    actions,
    mutations
});
console.log(store.state.articles); // this lines works but data is empty
export default store

axios调用中的console.log不运行,store.state.articles是空的。我一定是漏掉了什么。我只是想把文章数据放在页面上.

请帮帮忙,我快疯了:)

构成部分:

代码语言:javascript
运行
AI代码解释
复制
<template>
  <div class="container">
    <h1>Test component yo !</h1>
    <p>{{ message }}</p>
  </div>
</template>

<script>
    export default {
        name: 'Test',
        computed: {
            message() {
                return this.$store.state.message
            }
        },
        mounted: () => {
            this.$store.dispatch('getArticles')
        }

    }
</script>

App.js:

代码语言:javascript
运行
AI代码解释
复制
import Vue from 'vue';
import ArticlesViewer from './articles_viewer.vue';
import UserArticles from './user_articles.vue';
import App from './app.vue'
import store from './store'

new Vue({
  el: '#app-container',
  store,
  render: h => h(App)
})
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-11 12:57:15

使用箭头函数定义组件的mounted生命周期挂钩。

根据文档

不要在实例属性或回调(例如vm.$watch('a', newVal => this.myMethod()))上使用箭头函数。由于箭头函数绑定到父上下文,所以this将不是您所期望的Vue实例,而this.myMethod将是未定义的。

您应该这样定义它:

代码语言:javascript
运行
AI代码解释
复制
mounted: function () {
  this.$store.dispatch('getArticles');
}

或者,使用ECMAScript 5速记:

代码语言:javascript
运行
AI代码解释
复制
mounted() {
  this.$store.dispatch('getArticles');
}

现在,您的dispatch方法将被正确调用,填充您的项目数组。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43924900

复制
相关文章
opencv无法读取图片_opencv无法读取图片
使用一下代码读取一张图片失败(不管是绝对路径还是相对路径,都失败),工程运行都没问题,就是图片读取失败。
全栈程序员站长
2022/11/04
2.4K0
39 - 读取XML节点和属性值
在当前目录下有一个products.xml 文件,要求读取该文件中products节点的所有子节点的值以及子节点的属性值 <!-- products.xml --> <root> <products> <product uuid="1234"> <id>10000</id> <name>iphone9</name> <price>9999</price> </product> <product uuid="4321"> <id>20000</id> <name>
ruochen
2021/05/25
2.6K0
39 - 读取XML节点和属性值
C#反射读取和设置类的属性
http://www.cnblogs.com/william-lin/archive/2013/06/05/3118233.html
跟着阿笨一起玩NET
2018/09/19
2.1K0
Java-方法重载时 调用未定义的对象属性
public class TestWayReload { int id; String name; String pwd; public TestWayReload(){ System.out.println(“Hellow World!”); System.out.println("################"); }
Fisherman渔夫
2019/07/30
5.8K0
macOS大更新导致git和svn无法使用
大更新之后 更新一堆自带没用软件之后 $ git --version xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun 原因是系统升级了,但是Xcode的命令行工具未升级导致的,更新一下就可以了 $ xcode-select --install xcod
崔笑颜
2020/06/08
1.5K0
如何遍历一个实例的所有属性,得到属性的名称和值
College college = this.collegeService.getCollegeById(id); try { Field[] fields = college.getClass().getDeclaredFields(); for (Field field : fields) { field.setAccessible(true);//类中的成员变量为private,须进行此操作 System.out.pri
qubianzhong
2018/09/19
2.7K0
Mac无法读取硬盘
问题描述: 由于没有弹出移动硬盘,就拔出来了。导致再插入硬盘,电脑也无法识别了。 步骤: 1.查看一下硬盘信息 画圈的就是我的硬盘。 2.将这个硬盘挂载 sudo diskutil mount /dev/disk2s1 然后需要输入的就是你的密码(开机密码) 可以看到,已经挂载成功了。
用户4793865
2023/01/12
1.1K0
SYS.AUD$无法扩容导致无法登录的问题
ERROR: ORA-00604: error occurred at recursive SQL level 1 ORA-01653: unable to extend table SYS.AUD$ by 8192 in tablespace SYSTEM ORA-02002: error while writing to audit trail ORA-00604: error occurred at recursive SQL level 1 ORA-01653: unable to extend table SYS.AUD$ by 8192 in tablespace SYSTEM
bisal
2019/01/29
1.7K0
Java读取盘符路径的所有文件
读取盘符路径的文件 WebsiteFile实体类 public class WebsiteFile { private String name; //文件名称 private String path; //文件路径 private String type; //0:文件夹1:文件 private List<WebsiteFile> child; //子 public String getName() { return name; } public String getPath(
微醺
2019/07/08
2.3K0
unknown directive导致的nginx无法启动
通过排查发觉是因为conf中vhosts的配置文件的编码不是为utf-8 NO BOM导致的,通过修改对应的文件的编码发觉可以正常启动nginx
用户7657330
2020/08/14
8310
unknown directive导致的nginx无法启动
IOS 读取设备中的所有照片
1 class ViewController:UIViewController,UIImagePickerControllerDelegate,UINavigationControllerDelegate { 2 var imageView:UIImageView! 3 var imagePickerController:UIImagePickerController! 4 override func viewDidLoad() { 5 super.viewDidLoad() 6 // Do any additional setup after loading the view, typically from a nib. 7 8 self.imageView = UIImageView(frame:CGRect(x:20, y:120, width:280, height:200)) 9 self.view.addSubview(imageView) 10 11 let button = UIButton(frame:CGRect(x:20, y:60, width:280, height:40)) 12 button.setTitle(“选择一张图片”, for:UIControlState()) 13 button.addTarget(self, action:
用户5760343
2019/07/10
1.2K0
IOS 读取设备中的所有照片
logback.xml读取spring的属性
因为logback.xml和logback-test.xml会被logback组件直接读取,所以如果要交给spring管理,需要
十毛
2019/08/03
5.8K0
读取项目属性文件的几种方式
项目中会把一些环境变量、公共属性配置到属性文件中,总结了一些工程加载属性文件的方式。
用户2146693
2019/08/08
1.8K0
spring-PropertyPlaceholderConfiger读取属性
spring在读取配置文件的时候,我们时常使用@Value注解来注入配置文件中的配置,在配置文件中也可以通过${}的方式来引用已经申明的配置,这是依靠Spring提供的PropertyPlaceholderConfigure来实现的。
leobhao
2022/06/28
6390
python读取图片属性信息
从照片里面获取GPS信息。可交换图像文件常被简称为EXIF(Exchangeable image file format),是专门为数码相机的照片设定的,可以记录数码照片的属性信息和拍摄数据,EXIF信息不支持png,webp等图片格式。
全栈程序员站长
2022/10/01
2.1K0
python读取图片属性信息
vue在IE下无法正常工作,Promise未定义?
用vue写了一个日历组件,在Firefox、Edge、Chrome以及360等浏览器极速模式中运行一切正常,如图:
Yiiven
2022/12/15
4.3K0
vue在IE下无法正常工作,Promise未定义?
js遍历Object所有属性
在js中经常需要知道Object中的所有属性及值,然而若是直接弹出Object,则是直接显示一个对象,它的属性和值没有显示出来, 不是我们想要的结果,从而需要遍历Object的所有属性。 var obj=要遍历的对象 var str=“”; for (var item in obj){     str +=item+":"+obj[item]+"\n"; } alert("str==:\n"+str); 弹出所有属性及值 从而选出我们想要的
庞小明
2018/04/18
7.8K0
eclipse: workspace出错导致无法启用的解决
通常我们会在eclipse中创建多个workspace,比如一个用于学习,一个用于工作... ,因为种种原因,时不时会发现eclipse切换workspace后启动失败,提示让你去看workspace\.metadata\.log文件,今天又遇到了! (我觉得在这点上,eclipse的稳定性远不如vs.net) 在日志里找到这段文字: !ENTRY org.eclipse.core.resources 2 10035 2014-03-08 17:19:58.477 !MESSAGE The workspac
菩提树下的杨过
2018/01/24
2.7K0
点击加载更多

相似问题

ol.tilegrid.WMTS.WMTSTileGrid不是构造函数

11

导致无法读取未定义的属性

212

默认参数导致无法读取未定义属性?

21

导致:无法读取未定义的属性“product_name”

22

AngularJS - angularAnimate导致错误:无法读取未定义的属性“”

18
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档