【发布时间】:2019-10-09 08:04:12
【问题描述】:
我的应用中有这个简单的面包屑组件。有一个数据属性pickTable,但是当它更改时,组件不会重新渲染。但是当我添加 :key="pickedTable" 时,它会重新渲染。为什么会这样?
有其他人遇到过这个问题吗?
export default {
template: `
<div class="cr-snackbar">
<div class="cr-snackbar-selection">
Table {{ pickedTable }}
</div>
</div>
`,
data()
{
return {
pickedTable: '2',
}
},
mounted()
{
setInterval(() => {
this.pickedTable = '3'
}, 3000)
}
}
我的解决方案是添加密钥
<div class="cr-snackbar-selection" :key="pickedTable">
Table {{ pickedTable }}
</div>
【问题讨论】:
-
你的最低限度真的反映了这个问题吗?对我来说它看起来很好 - 设置器被触发 - 观察者将它添加到更新钩子 - 应该更新 Dom 并在下一个动画帧中重绘?
-
@Estradiaz 通常是这样,但由于某种原因它没有重绘
标签: javascript vue.js vue-component