Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否需要Vue.set()来更改数据对象的值?_Javascript_Vue.js_V For - Fatal编程技术网

Javascript 是否需要Vue.set()来更改数据对象的值?

Javascript 是否需要Vue.set()来更改数据对象的值?,javascript,vue.js,v-for,Javascript,Vue.js,V For,我知道Vue.set()用于向对象添加反应属性 但是如何更改对象属性的值呢。这是正确的方法吗 注意:此数据更改旨在发送到数据库 模板 <div class="buttonList" v-for="(expense, index) in expenseButton" :key="index"> <button type="button" @click="expenseButtonClick(expense)">{{expense.expensesKey}} <

我知道Vue.set()用于向对象添加反应属性

但是如何更改对象属性的值呢。这是正确的方法吗

注意:此数据更改旨在发送到数据库

模板

 <div class="buttonList" v-for="(expense, index) in expenseButton" :key="index">
    <button type="button" @click="expenseButtonClick(expense)">{{expense.expensesKey}} </button>
    <input class="textInput" v-model.number="expense.subExpense" type="number" />
</div>

只有在需要将新属性添加到对象并希望其处于反应状态时,才需要使用
Vue.set
。更改现有属性的值时不需要它


仅供参考,只有在从对象中删除属性时,才需要使用
Vue.delete
,以确保视图得到更新。

感谢您的快速响应!那么,我使用的方法是否是初始化新值的可行方法呢?如果您正在初始化它,那么我建议使用
Vue.set
。如果您只是在更新它,那么您在
expense按钮中所做的操作将起作用。
data(){
   expenseButton[{
expenseKey: rent,
expenseValue: 10,
subExpenses: ''
}]

}

methods: {
    expenseButtonClick(expense) {
      expense.expensesValue = expense.expensesValue - expense.subExpense;
      console.log(expense);
    }
}