シンプルなイベントシステムにvue-routerを使ってコンポーネントシステムをセットアップしました。私は、既存のイベントの編集と新しいイベントの作成の両方に同じコンポーネントを使用できるようにしたいと考えています。Vueコンポーネントを再利用してデータを削除
あるイベントの編集から別のイベントの編集に移動するときに、コンポーネントからデータを削除する方法がわかりません。
私は動作しません。次のこと、試してみました:V-上を通じてnullにイベントIDを設定
- をしてイベントIDを設定
- をクリックしてください: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をもともと試してみましたが、私のエラーはdataとroute-> dataのeventIdを設定していたと思います。 – retrograde
@retrogradeよろしく! – Deepak