问题描述
就我而言,我有data
个包含多个对象的数组
data() {
return {
selected: 0,presetData: [true,true,true],data: [
{
name: "name 1"
},{
name: "name 2"
}
]
};
},
然后我要像下面那样将data
中的每个对象放入
setNewData() {
this.data.forEach((o,i) => {
this.$set(this.data[i],"time",this.presetData);
});
},
现在presetData
被推入data
的我看起来像这样
data: [
{
name: "name 1",time: [true,true]
},{
name: "name 2",true]
}
]
并且我想更改每个对象的单独time
属性,我在下面使用类似的方法
$set(item.time,selected,true)
我的问题
我的问题是,这将更改两个对象的time
属性。如何首先将presetData
正确推入/设置为data
,下面是我的整个代码,很抱歉,我对编程还很陌生,这是指向jsfiddle的链接>
new Vue({
el: "#app",data() {
return {
selected: 0,data: [
{
name: "name 1",},{
name: "name 2",}
]
};
},methods: {
setNewData() {
this.data.forEach((o,i) => {
this.$set(this.data[i],this.presetData);
});
},}
})
<div id="app">
<button @click="setNewData">Set Data</button>
<br>
<br>
<select v-model="selected">
<option>0</option>
<option>1</option>
<option>2</option>
</select>
<div v-for="item in data" :key="item.id">
<p>{{item.name}}</p>
<p>{{item.time}}</p>
<button @click="$set(item.time,true)">Change True</button>
<button @click="$set(item.time,false)">Change False</button>
</div>
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)