【发布时间】:2021-02-24 05:37:02
【问题描述】:
我是 vuejs 的菜鸟。我的这段代码让我的应用程序非常慢。
<div v-for="(attribute, i) in attributes" :key="i">
<div>{{ AttributeClicked(attribute) }}</div>
</div>
这是函数:
AttributeClicked(attribute) {
this.$store.commit("entities/Attribute/select", attribute.id);
}
这是突变:
mutations: {
select(state, id) {
let selection = Attribute.find(id);
Attribute.update({
where: (a) => a.selected,
data: {
selected: false
}
});
if (selection !== null) {
Attribute.update({
where: id,
data: {
selected: true
}
})
}
},
}
这段代码的目的是制作一个像这样的网页https://www.tesla.com/models/design#overview 例如,我的目标是在页面加载时显示 Paint 属性下方的 5 个选项。
谁能告诉我如何加速这个应用程序?
【问题讨论】:
-
1) 这段代码的目的是什么? 2)你能证明突变吗?
-
也许你想在用户点击这个属性时调用 AttributeClicked 函数?{{ 属性 }}
-
@Radeanu,它就是这样工作的。但我想在不点击属性的情况下显示选项。
-
我不明白,如果你想显示来自商店的价值,请改用 getter。
-
在v-for中,属性从哪里来,mutation中的Attribute是从哪里定义的?