gpt4 book ai didi

vue.js - Vue,组合 API : How to skip deeply nested property from reactive conversion?

转载 作者:行者123 更新时间:2023-12-05 02:30:41 25 4
gpt4 key购买 nike

在 vue-composition-api 中:使用 reactive() 方法,我想保留对象的一部分作为引用。


我有一些属于自定义类的产品:

const chair = new Product(...); // lots of information in each product 
const table = new Product(...); // lots of information in each product

以及在深层对象中引用产品的订单列表:

let example = reactive({   
orders: [
{ product: chair, quantity: 2 },
{ product: table, quantity: 1 },
{ product: chair, quantity: 6 },
{ product: table, quantity: 2 },
]
});

我通过 example.orders[0].product == chair -> false 检查这些是不同的对象。我还发现 example.orders[0].product 不是 Product 类型。

因为我可以有很多不同的订单并且产品包含很多数据,所以我希望 example.orders[].product 保持对原始产品的引用。

我不需要产品本身的 react 性,因为它们是不变的。 (这是一个electron app,只要程序运行,内容是不变的)

我只想对订单有反应。

最佳答案

使用markRaw :

import { markRaw, reactive } from 'vue';

const example = reactive({
orders: [
{ product: chair, quantity: 2 },
{ product: table, quantity: 1 },
{ product: chair, quantity: 6 },
{ product: table, quantity: 2 },
].map(el => ({
...el,
product: markRaw(el.product)
}))
});

注意:请阅读标签上的警告。

关于vue.js - Vue,组合 API : How to skip deeply nested property from reactive conversion?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71754739/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com