Vue.js Vuejs:如果链接的v模型值已更改,则vue颜色不会更改选择器位置

Vue.js Vuejs:如果链接的v模型值已更改,则vue颜色不会更改选择器位置,vue.js,color-picker,Vue.js,Color Picker,我正在使用的草图选项进行颜色拾取。它使用v-model传达颜色变化,如下所示: <sketch-picker v-model="colors" /> 加载页面时,颜色选择器位于预期位置,即(十六进制:#c0392b)。更改选择器位置时,颜色值按预期更改 当我用如下方法更改颜色值时,会出现问题: this.colors.hex = "#ff00ff"; this.colors.a = 0.5; 在这种情况下,即使更改了数据颜色值(这已确认),颜色选择器仍指向旧位置,即#c0392b

我正在使用的草图选项进行颜色拾取。它使用
v-model
传达颜色变化,如下所示:

<sketch-picker v-model="colors" />
加载页面时,颜色选择器位于预期位置,即(十六进制:#c0392b)。更改选择器位置时,
颜色
值按预期更改

当我用如下方法更改
颜色
值时,会出现问题:

this.colors.hex = "#ff00ff";
this.colors.a = 0.5;
在这种情况下,即使更改了数据
颜色
值(这已确认),颜色选择器仍指向旧位置,即#c0392b


我不认为这是一个预期的行为,可能是一个错误。解决这个问题的方法是什么?

在Vue/JavaScript中,检测对象中的更改有点细微差别。See和手表的深度选项

您可能只需要使用

this.colors = Object.assign({}, this.colors, { a: 0.5, hex: "#ff00ff" })

你能展示更多关于如何声明
数据属性=colors
的代码吗?答案很好!我忘了这件事。但这并没有完全解决这个问题。请看问题编辑,如果你能想到它发生的任何原因这是有效的,我的其他问题是由于另一个原因。
this.colors = Object.assign({}, this.colors, { a: 0.5, hex: "#ff00ff" })