【发布时间】:2020-08-27 03:13:31
【问题描述】:
我正在使用组合 API 从本地存储中获取数据。
我正在将一个数组保存到本地存储中并从数组中添加/删除。
export function useCart() {
const addToCart = (item) => {
// eslint-disable-next-line no-debugger
basketItem = JSON.parse(localStorage.getItem("basketArray")) || [];
var newItem = {
id: item.id,
image: item.image,
price: item.price,
rating: item.rating,
title: item.title,
};
basketItem.push(newItem);
localStorage.setItem("basketArray", JSON.stringify(basketItem));
};
我希望组件中的数组计数在新项目添加到本地存储中的数组时更新
我将计算属性用作:
import { computed } from "@vue/composition-api";
import { useCart } from "../../js/ShoppingCart";
// import Sidebar from "./Sidebar";
export default {
setup() {
const { basketItem } = useCart();
let basketLength = computed(
() => JSON.parse(localStorage.getItem("basketArray"))?.length
);
return { basketLength, basketItem };
},
name: "Navbar",
components: {},
};
length 未按预期更改。它只在第一次加载,其他情况保持不变。
目标是让值对本地存储更改做出反应,同时将值设为computed()。
【问题讨论】:
标签: vue.js