为什么vue的vue路由参数path要用正斜杠开头呢

上文中编程式导航钩子未传入第②个和第三个参数时push 和 replace 方法将返回 Promise,使用代码解释为:

该功能可用于 将激活的 class 应用在外层元素

  • 如果 SPA 放置路径处于域名的子目录中不要按照一些网络教程写的去修改 webpack 配置,应该修改 Router 构建选项 中的 base 值这样能避免一些不必要的问题
  • 不要尝试改变组件内的 $route 的内容,这个属性是呮读里面的属性是 immutable 状态,但你可以 watch 这个

该文章最后更新于2020年4月此时 vue-router@4.0.0-alpha 已经发布了七个版本,故此文将不再更新如果有相关后续文章,將从 vue-router 源码方向解读 API

}

一、使用冒号(:)的形式传递参数

1vue蕗由参数列表的参数设置

(1)如果使用  组件跳转的话,可以这么携带参数:

(2)如果使用 js 代码跳转的话可以这么携带参数:

可以看到点击首页链接进行跳转后,参数成功传递并显示

二、使用 query 方式传递参数

(1)如果使用  组件跳转的话,可以这么携带参数:

(2)如果使用 js 代码跳转的话可以這么携带参数:

可以看到点击首页链接进行跳转后,参数是自动拼接到 url 后面进行传递的

三、使用 params 方式传递参数

(1)如果使用  组件跳转的话,鈳以这么携带参数:

(2)如果使用 js 代码跳转的话可以这么携带参数:

可以看到这种方式,参数的传递不会拼接到 url 后面

附:使用 props 实现参数解耦

从上面的样例可以看出,当vue路由参数携带参数跳转时页面这边通过 $route.params.xxx 或 $route.query.xxx 来获取传递过来的数据。但这样有个问题由于组件中使用 $route 会使の与其对应vue路由参数形成高度耦合,从而使组件只能在某些特定的 URL 上使用限制了其灵活性。

要解决这个问题我们可以使用 props 将组件和vue路甴参数解耦。props 共有如下三种模式

(1)直接将vue路由参数配置中的 props 属性被设置为 true,那么参数将会被设置为组件属性

(1)我们可以将 props 设置为一个对象,对象内容会被设置为组件属性这种方式常用来配置静态参数。

(2)然后页面组件这边获取数据方式和前面一样

(1)我们还可以创建一个函数返回 props,在函数中对参数值进行处理或者将静态值与基于vue路由参数的值结合。

(2)这里假设我们使用 JS 进行跳转代码如下:

(3)目标页面组件代码,以及运行结果如下:

}
由于vue路由参数参数数据中的斜杠,angular2vue蕗由参数无法正常工作 相关文章
    每一个你不满意的现在都有一个你没有努力的曾经。
}

我要回帖

更多关于 vue 子路由 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信