Javascript 对象上的vue push属性
我有一个组件必须将属性推入数组,这是数组:Javascript 对象上的vue push属性,javascript,arrays,vue.js,object,Javascript,Arrays,Vue.js,Object,我有一个组件必须将属性推入数组,这是数组: [ { date: "17/11/2020", dateTime: false, hour: "00", minute: "00", }, ]; 该组件有一个按钮: <b-button class="p-0" variant="success
[
{
date: "17/11/2020",
dateTime: false,
hour: "00",
minute: "00",
},
];
该组件有一个按钮:
<b-button
class="p-0"
variant="success"
@click="addTime(array)"
>
+ Add more times
</b-button>
有可能吗?我试着在click方法中使用.push(),但它不起作用…您应该这样创建对象
let records = [
{
date: "17/11/2020",
dateTime: false,
hour: "00",
minute: "00",
time : []
},
];
addTime(timeObject){
// timeObject = {defaultDateStart: "08:00",defaultDateEnd: "00:00"}
records[0].time.push(timeObject)
}
在你的函数中,你可以这样做
let records = [
{
date: "17/11/2020",
dateTime: false,
hour: "00",
minute: "00",
time : []
},
];
addTime(timeObject){
// timeObject = {defaultDateStart: "08:00",defaultDateEnd: "00:00"}
records[0].time.push(timeObject)
}
显示您的代码无论您迄今为止尝试了什么您的
time
属性的格式不正确。。。它应该是一个对象数组,而不是数组中不可能的对象-除此之外,您可能希望这个。WhateVerthHearray被称为[0]。time.push(whatYouWantToPush)
@FahadSubzwari我尝试了以下方法:`methods:{addTime(array){consthour={defaulTimeStart:“08:00”,defaultTimeEnd:“00:00”,};array.push(hour);},},},`但它不是work@Bravo我尝试了,它在处理程序上给了我以下错误:“TypeError:无法读取未定义“]的属性“0”]可能您键入了错误的调用了什么?您还没有显示数据的位置(即,它是组件数据的属性吗?它是全局的吗?是其他的吗?)好的,我写了这个,它工作了:`方法:{addTime(array){array.time=[];const hour={defaulTimeStart:“08:00”,defaultTimeEnd:“00:00”,};array.time.push(hour);},},`但仅在第一次单击时,在随后的单击中,它不会添加其他“time”对象,因为您做错了。每次单击addTime
都会将arra.time
的值反校准到[]
,那么如何实现这一点呢?这就是为什么我告诉你,你应该在你的每个对象中都有time:[]
,然后在你的addTime
函数中,你应该只做这个const-hour={defaulTimeStart:“08:300”,defaultTimeEnd:“00:00”};array.time.push(hour)
问题是我没有创建初始数组,但我从已安装的库中自动准备好了它。。。。您认为可以从库中修改它吗?这样您就可以修改初始数组,并在以后的代码中使用修改后的数组