路由配置错误,需要指定路径
P粉113938880
P粉113938880 2023-08-28 18:32:26
[Vue.js讨论组]
<p>我想要添加动态路由并在所有动态路由中使用相同的组件。我尝试了以下代码来渲染组件,但是我得到了一个错误,错误信息如下:</p> <blockquote> <p>[vue-router] “path”在路由配置中是必需的。</p> </blockquote> <p>添加动态路由并显示相同组件的正确方法是什么?</p> <p> <pre class="brush:js;toolbar:false;">const Foo = { template: '&lt;div&gt;Foo&lt;/div&gt;' } const Home = { template: '&lt;div&gt;Home&lt;/div&gt;' } const router = new VueRouter({ mode: 'history', routes: [{ path: '/', component: Home }] }) const app = new Vue({ router, el: "#vue-app", methods: { viewComponent: function(path, method) { debugger; let tf = `${path}/${method}`; let newRoute = { path: tf, name: `${path}_${method}`, components: { Foo }, } this.$router.addRoute([newRoute]) }, } });</pre> <pre class="brush:html;toolbar:false;">&lt;script src="https://cdn.jsdelivr.net/npm/vue@2.6.14"&gt;&lt;/script&gt; &lt;script src="https://npmcdn.com/vue-router/dist/vue-router.js"&gt;&lt;/script&gt; &lt;div id="vue-app"&gt; &lt;a v-on:click="viewComponent('api/contact','get')"&gt;ddd&lt;/a&gt; &lt;router-view&gt;&lt;/router-view&gt; &lt;/div&gt;</pre> </p>
P粉113938880
P粉113938880

全部回复(1)
P粉754473468
  1. 主要问题是你将数组传递给了addRoute函数
  2. 第二个问题是路径开头缺少了/(没有它,你将会得到一个“非嵌套路由必须包含一个前导斜杠字符”的错误)
  3. 最后使用$router.push跳转到新的路由

const Foo = {
  template: '<div>Foo</div>'
}
const Home = {
  template: '<div>Home</div>'
}

const router = new VueRouter({
  mode: 'history',
  routes: [{
    path: '/',
    component: Home
  }]
})
const app = new Vue({
  router,
  el: "#vue-app",
  methods: {
    viewComponent: function(path, method) {
      let tf = `/${path}/${method}`;

      let newRoute = {
        path: tf,
        name: `${path}_${method}`,
        component: Foo,
      }
      this.$router.addRoute(newRoute)
      this.$router.push({ name: newRoute.name })
    },
  }
});
<script src="https://cdn.jsdelivr.net/npm/vue@2.6.14"></script>
<script src="https://npmcdn.com/vue-router/dist/vue-router.js"></script>

<div id="vue-app">
  <a v-on:click="viewComponent('api/contact','get')">ddd</a>

  <router-view></router-view>
</div>
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号