0
私はVue.jsをCRUDシステムに使用しており、顧客、製品などのさまざまなドメインクラスを追跡しています。私は各エディタコンポーネント(例:CustomerDetail、製品の詳細)。ユーザーが保存せずにページから離れたときの共通の動作が欲しいので、私は 'beforeRouteLeave'で呼び出すことができる検証ミックスにメソッドを持たせたいと思っています。私はこれを使用しようとするとbeforeRouteLeave and mixin
checkOnLeave(obj,message,confirmText="Leave",cancelText="Continue Editing",next){
if (this.isDirty(obj)) { //isDirty checks whether object has been changed
bootbox.confirm({
message: message,
buttons: {
confirm: {
label: confirmText,
},
cancel: {
label: cancelText,
}
},
callback: function (result) {
if (result) {
next();
} else {
next(false);
}
}
});
} else {
next();
}
}
、しかし、それは「次へ」をどうするか任意のアイデアを持っていない:私は出ている方法は、これがあります。明らかに、これは知らないvue-routerからのものです。だから、私はこれを使用できるように私のmixin vue-routerを認識させることができますか?
この関数を 'beforeRouteLeave'でどのように呼び出すかを教えてください。 – mzgajner
もう一度試してみましたが動作していますので、問題はなく、動作すると予想されていた通りに動作します。 'beforeRouteLeave(to、from、next){ this.checkOnLeave(this.settings、"設定エディタを終了してもよろしいですか?新規または変更されたデータは失われますか " "離脱"、 "編集続行"、次));} ' –