javascript - 突变有效载荷值始终 __ob__ :观察者
问题描述
嗨,我是 Vue 和 Javascript 世界的新手,但我真的很想学习这两种语言。
现在我通过观看一些教程来学习,但我遇到了问题。我有一个使用这种方法的 Stock.vue 组件。
methods: {
...mapActions({ actionBuyStock: 'buyStockAction' }),
buyStock() {
const order = {
stockId: this.stock.id,
stockPrice: this.stock.price,
quantity: this.quantity,
};
this.actionBuyStock(order);
this.quantity = 0;
},
},
我使用 vuex 并创建一个模块来处理这个问题。在我的stocks.js 模块中,我有如下代码之类的操作
const actions = {
buyStockAction({ commit }, order) {
commit(types.BUY_STOCK, order);
},
};
如果我执行 console.log(order),我会得到正确的对象作为我的有效负载。
{stockId: 1, stockPrice: 110, quantity: 5}
但是在我提交 BUY_STOCK 突变后,我的有效负载(订单)返回ob:当我 console.log(订单)时的对象。
{__ob__: Observer}
这是我的突变看起来像
const state = {...},
const mutations = {
[types.BUY_STOCK](order) {
console.log(order);
// const record = state.myStocks.find((element) => element.id === order.stockId);
// if (record) {
// record.quantity += order.quantity;
// } else {
// state.myStocks.push({
// id: order.stockId,
// quantity: order.quantity,
// });
// }
// state.funds -= order.stockPrice * order.quantity;
},
我将 buyStock 动作stocks.js
和 BUY_STOCK 突变放入portfolio.js
我尝试将所有动作和突变放入同一个文件,但它仍然返回ob : Object in mutation。你能告诉我我做错了什么吗?我真的不希望我的学习阶段停在这里。
const state = {...}
const mutations = {
[types.BUY_STOCK](state, order) {
console.log(order);
// const record = state.myStocks.find((element) => element.id === order.stockId);
// if (record) {
// record.quantity += order.quantity;
// } else {
// state.myStocks.push({
// id: order.stockId,
// quantity: order.quantity,
// });
// }
// state.funds -= order.stockPrice * order.quantity;
},
// IF I PASSING STATE, IT WILL THROW AN LINTING ERROR (NO-SHADOW)
// BECAUSE I ALREADY DECLARE STATE AS VARIABLE
解决方案
推荐阅读
- php - Doctrine\DBAL\Exception\UniqueConstraintViolationException 尝试在教义 2 上使用表继承插入
- xml - 需要在 xml 文件中编辑节点的属性值
- python - 在熊猫数据框中循环时删除一行
- c++ - C ++ 14制作自定义迭代器,它将按2并返回修改后的数据
- scala - 如何将一个数据集的列(也包括多列)中的值映射到另一个数据集
- php - Codeigniter:如何使用ajax修复分页链接,单击时不更新
- ms-access - 如何保持对子表单上选定记录的关注?
- python - 如何从预训练模型中删除最后一层。我试过 model.layers.pop() 但它不工作
- c# - 如何从 JObject 中获取一些特定值
- python - 将 Elmo 与 tf.Keras 一起使用会引发 ValueError:无法将字符串转换为浮点数