我尝试从vuex状态复制一个对象。我的州的结构如下:
state = {
trips: [
{ date: '01.01.2017', driver: 'John Doe' },
{ date: '03.01.2017', driver: 'Mike Astor' }
]
但是来自getter的对象state.trips
不会返回trip对象的数组,而是返回一个数组ob对象,其中属性是reactiveGetter和reactiveSetter。
如果我将此数组对象传递给应该调用操作并改变存储的事件处理程序(复制行程),则无法访问属性。
重复动作/突变:
/* actions.js */
export const duplicateTrip = ({ commit }, payload) => {
console.log(payload)
const trip = {
date: payload.date,
driver: payload.driver
}
commit('DUPLICATE_TRIP', { trip })
}
/* mutations.js */
export default {
DUPLICATE_TRIP (state, message) {
state.trips.push(Object.assign(message))
}
}
从我的组件模板调用该操作:
<li v-for="trip of trips">{{trip.date}}<button class="btn btn-default" v-on:click="duplicateTrip(trip)">Duplicate</button></li>
我的行动收到的旅行对象如下: