Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vue.js 未获取Vue和Vuex中链接更新的数据_Vue.js_Vue Component_Vuex_Vue Router - Fatal编程技术网

Vue.js 未获取Vue和Vuex中链接更新的数据

Vue.js 未获取Vue和Vuex中链接更新的数据,vue.js,vue-component,vuex,vue-router,Vue.js,Vue Component,Vuex,Vue Router,有人能告诉我如何更新从url获取id的数据吗 像这样 我有一个有一些类别的侧边栏。第1类,第2类, 类别1和类别2上的链接为类别1和类别2 在加载页面时,我从category1获取数据,但当我单击Category2时,页面并没有更新内容 谁能告诉我怎么做 提前感谢。您可以vue路由器 按以下方式注册您的路线: import Vue from "vue"; import Router from "vue-router"; import App from "@/views/App.vue" impo

有人能告诉我如何更新从url获取id的数据吗

像这样

我有一个有一些类别的侧边栏。第1类,第2类, 类别1和类别2上的链接为类别1和类别2

在加载页面时,我从category1获取数据,但当我单击Category2时,页面并没有更新内容

谁能告诉我怎么做


提前感谢。

您可以
vue路由器

按以下方式注册您的路线:

import Vue from "vue";
import Router from "vue-router";
import App from "@/views/App.vue"
import Category from "@/views/Category.vue"

Vue.use(Router);

const routes = [{
    name: "category",
    path: "/category/:id",
    component: Category
}];

const router = new VueRouter({
  routes
});

new Vue({
  router,
  render: (h) => h(App),
}).$mount("#app");
在根模板(也称为App.vue)中的某些位置:

<template>
  <div> 
    <nav> 
      <router-link to="{ name: 'category', params: {id: 1} }">category 1</router-link>
      <router-link to="{ name: 'category', params: {id: 2} }">category 2</router-link>
     </nav>
     <main>
       <router-view></router-view>
     </main>
  </div>
</template>

第一类
第2类
在Category.vue中,您必须注意$route,因为当在route中更改:id param时,vue路由器不会按设计重新加载组件

<template>
  <div>
     {{ category }}
  </div>
</template>

{{category}}

导出默认值{
数据:{类别:},
观察:{
“$route”:(到,从)=>{
this.category=to.params.id;
}
},
创建:()=>{
this.category=this.$route.params.id;
}
}

您可以
vue路由器

按以下方式注册您的路线:

import Vue from "vue";
import Router from "vue-router";
import App from "@/views/App.vue"
import Category from "@/views/Category.vue"

Vue.use(Router);

const routes = [{
    name: "category",
    path: "/category/:id",
    component: Category
}];

const router = new VueRouter({
  routes
});

new Vue({
  router,
  render: (h) => h(App),
}).$mount("#app");
在根模板(也称为App.vue)中的某些位置:

<template>
  <div> 
    <nav> 
      <router-link to="{ name: 'category', params: {id: 1} }">category 1</router-link>
      <router-link to="{ name: 'category', params: {id: 2} }">category 2</router-link>
     </nav>
     <main>
       <router-view></router-view>
     </main>
  </div>
</template>

第一类
第2类
在Category.vue中,您必须注意$route,因为当在route中更改:id param时,vue路由器不会按设计重新加载组件

<template>
  <div>
     {{ category }}
  </div>
</template>

{{category}}

导出默认值{
数据:{类别:},
观察:{
“$route”:(到,从)=>{
this.category=to.params.id;
}
},
创建:()=>{
this.category=this.$route.params.id;
}
}

在路由器视图中显示内容:使用路由器链接并指向vue路由器实例中指定的相应路径

文档的第一页:

在路由器视图中显示内容:使用路由器链接并指向vue路由器实例中指定的相应路径

文档的第一页: