Почему не работает переход на страницу с использованием
vue-router 0.7.13 +
SweetAlert? Делаю вот так (Laravel 5.3):
article.blade.php:
<a href="#" v-on:click.prevent="deleteArticle('/articles/{{ $article->id }}/delete')">Delete</a>
app.js:
window.Vue = require('vue');
window.VueRouter = require('vue-router');
Vue.use(VueRouter);
var article_form = new Vue({
el: '#article_form',
data: {
...
},
methods: {
...
...
deleteArticle: function (url) { // Кликаем на Delete
var self = this;
swal({
title: "Are you sure?",
text: "You will not be able to recover this imaginary file!",
type: "warning",
showCancelButton: true,
confirmButtonColor: "#DD6B55",
confirmButtonText: "Yes, delete it!",
closeOnConfirm: false
}, function () { // Кликаем на Yes
self.$http.delete(url).then(function () {
swal({
title: "Deleted!",
text: "Your imaginary file has been deleted.",
type: "success"
}, function () { // После клика на ОК должен быть редирект
self.$route.router.go('/articles');
});
});
});
}
}
});
Возникает ошибка:
TypeError: undefined is not an object (evaluating 'self.$route.router')
Пробовал ещё вот так:
self.$router.go('/articles');
– та же ошибка. Почему-то для него
$route
(
$router
) идёт как
undefined
, хотя в PhpStorm они нормально «прокликиваются» и участвуют в подсказках, то есть проекту известны все функции/методы из vue-router.
В чём может быть дело?