0
我已經使用vue-router爲一個簡單的事件系統設置了一個組件系統。我希望能夠使用相同的組件來編輯現有事件和創建新事件。重用Vue組件,刪除數據
我想不出如何從編輯一個事件導航到創建另一個事件時從組件中刪除數據。
我曾嘗試下面的東西,它不工作:
- 設置EVENTID:空在V-LINK
- 設置EVENTID通過爲空V系列:點擊
- 設置EVENTID與:this。$ route.params.eventId
路由器映射:create和eventDashboard路由指向同一個組件。
router.map({
'/': {
name: 'calendar',
component: Vue.component('calendar'),
subRoutes: {
'/rightView': {
name: 'rightView',
component: Vue.component('rightView'),
},
},
},
'create': {
name: 'create',
component: Vue.component('create'),
subRoutes: {
'/rightView': {
name: 'rightView',
component: Vue.component('rightView'),
},
},
},
'eventdashboard/:eventId': {
name: 'event',
component: Vue.component('create'),
subRoutes: {
'/rightView': {
name: 'rightView',
component: Vue.component('rightView'),
},
},
},
})
這裏是用來創建一個新的事件的按鈕:
<a v-link="{name: 'create', params: { eventId: null }, replace: true}" class="btn btn-success"><i class="fa fa-plus"></i> Create New Event</a>
和組件:
Vue.component('create',
{
template: '#create',
data: function(){
return {
eventId: this.$route.params.eventId,
event: []
}
},
ready: function() {
this.getEvent();
},
methods: {
getEvent: function(eventId){
var getList = this.$http.get('event/'+this.eventId)
.success(function(data){
this.event = data;
}.bind(this));
},
}
});
謝謝你,這是完美的。我曾嘗試過transition.to.params,我認爲我的錯誤是在數據以及路由 - >數據中設置eventId。 – retrograde
@retrograde歡呼! – Deepak