具有参数的vuex调度操作,但参数值为空

时间:2019-10-29 17:10:30

标签: vue.js vuex nuxt

我正在尝试在vuex中创建动作,该动作具有方法goLogin,其参数为电子邮件和密码的对象,在这种情况下,我正在使用 Nuxt < / strong>,当我尝试在组件中使用抓取功能时, 调度 可以与该 params 一起很好地工作,但是当我尝试移动它时作为 @click 的方法,调度参数为空,因为我在action方法内进行控制台日志,它不是空的,但是当它到达后端API时,后端API将其读取为空

这是我的动作: 在store / login.js

export const actions = {
  goLogin({ commit }, obj) {
    // I console.log the obj here, it was not null
    return LoginService.tryLogin(obj).then((res) => {
      commit("IS_LOGIN", res.data);
    }).catch(e => {
      commit("IS_LOGIN", e.response.data);
    })
  }
}

LoginService是从实例axios获得的,就像这样

tryLogin(obj) {
    // I console.log the obj here, it was not null
    return goAxios.get("/login", {
      data : obj,
    })
  }

在我的@click登录组件方法中

      async tryLoginFromComponent() {
        await this.$store.dispatch("login/goLogin",{
          "email": "test@gmail.com",
          "password": "12345678",
        })
      },

当我单击登录时,tryLoginFromComponent的方法将运行,并且它将在store / login.js中生效 但是该参数的obj在后端为空,以为我的console.log不是,

我上面做的事有问题吗?我一整天都在尝试搜索,但是找不到适合我的工作,希望这里的每个人都可以节省我的时间

2 个答案:

答案 0 :(得分:0)

您不必异步调用tryLoginFromComponent,因为actions已经异步。也许有问题。

答案 1 :(得分:0)

import cv2
import pytesseract,csv,re,os
from PIL import Image
from ast import literal_eval

img = pytesseract.image_to_string(Image.open("test1.png"), lang="eng")
print(img)

with open('C:\\Users\\Hasan\\Videos\\Captures\\saved.csv', "w") as outfile:
    writer = csv.writer(outfile)
    writer.writerow(img)

string = open('C:\\Users\\Hasan\\Videos\\Captures\\saved.csv').read()
new_str = re.sub('[^a-zA-z0-9\n\.]', ' ', string)
open('C:\\Users\\Hasan\\Videos\\Captures\\saved.csv', "w").write(new_str)

# f = open("saved.csv", "r")
# read = f.readline()
# print("\n" + f.read())

with open('C:\\Users\\Hasan\\Videos\\Captures\\saved.csv') as sv:
    for line in sv:
        if img in line:
            print("Data already exists")
        else:
            print("file saved successfully")

无需在此处将电子邮件和密码放在双引号中。那是一个对象,而不是JSON键值对。试试吧。