gpt4 book ai didi

vuejs2 - 如何在 VueJs 中实现脏状态

转载 作者:行者123 更新时间:2023-12-04 03:02:57 26 4
gpt4 key购买 nike

我是 VueJs 的新手,我正在处理一个表单,我想启用 Save按钮仅当模型发生更改时。

我最初的想法是compute将初始模型与当前模型进行比较的脏函数。

Note: This code is not tested, it's here just for an example.


var app = new Vue({
el: '#app',
data: {a:0, b:'', c:{c1:null, c2:0, c3:'test'}},
initialData: null,
mounted():{ initialData = JSON.parse(JSON.stringify(data));},
computed: {
isDirty: function () {
return JSON.stringify(data) === JSON.stringify(initialData)
}
}
});

有没有更好的方法可以做到这一点,或者您可以对上述代码提出任何改进建议吗?

最佳答案

您可以使用 deep watch 的选项如 manual 所示

var app = new Vue({
el: '#app',
data:
{
model:
{
a:0,
b:'',
c:
{
c1:null,
c2:0,
c3:'test'
}
},
dirty: false
},
watch:
{
model:
{
handler(newVal, oldVal)
{
this.dirty = true;
},
deep: true
}
}
});

关于vuejs2 - 如何在 VueJs 中实现脏状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52343140/

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