Ich bin ein Neuling in der Welt von VueJS.VueJS: eine Komponente für viele Routen
Meine App verwendet vue-router
, um mit Routenänderungen umzugehen. Dies ist, wie es konfiguriert ist:
new Router({
routes: [{
path: "/",
component: Articles
}, {
path: "/articles/:category",
component: Articles
}]
});
Wie Sie sehen können, habe ich 2 Routen von der gleichen Komponente behandelt. Die Idee ist sehr einfach. Zeigen Sie auf einer Startseite Artikel aus einer beliebigen Kategorie an. Zeigen Sie auf einer Kategorieseite Artikel aus dieser Kategorie an.
Die Frage ist, wie eine Komponente erkennen kann, ob sich die Route geändert hat, z. B. von der Startseite zur Kategorieseite?
Ich habe mit dieser Lösung kommen:
function loadArticles() {};
Vue.component("Articles", {
mounted: loadArticles,
watch: { "$route": loadArticles }
});
Aber ich denke, das ist eine schlechte Lösung.
Warum wäre das $ route-Objekt eine schlechte Idee? Es wird empfohlen, in Vue Router Docs, wenn Sie Daten abrufen möchten, nachdem die Route aktiviert wurde. –