vue $router.push,vue route.push

  vue $router.push,vue route.push

  本文主要介绍这两者的区别。$路由器和这个。Vue中的$route和push()方法的相关信息。通过示例代码非常详细,对大家的学习或者工作都有一定的参考价值。有需要的朋友就跟着下面的边肖学习吧。

  官房文档里是这样说明的:

  通过注入路由器,我们可以通过这个接入路由器。$router在任何组件中,或通过此访问当前路由。$route。

  可以理解为:

  这个。$router相当于一个全局路由器对象,包含了很多属性和对象(比如历史对象)。任何页面都可以调用它的push()、replace()、go()等方法。

  这个。$route表示当前的route对象,每个route都会有一个route对象,这个route对象是一个本地对象,可以获取相应的属性如名称、路径、参数、查询等。

  关于 push() 方法:

  若要导航到不同的URL,请使用router.push方法。该方法将向历史堆栈中添加一条新记录,因此当用户单击浏览器的后退按钮时,它将返回到上一个URL。

  当您单击router-link时,将在内部调用此方法。所以,点击路由器链接:to= . 相当于调用router.push(.).

  push()方法的调用:

  //字符串

  这个。$router.push(home )

  //对象

  这个。$router.push({path:home})

  //命名的路由

  这个。$router.push({name:user ,params:{userId: 123}})

  //带查询参数,成为/register?计划=私人

  这个。$router.push({path:register ,query:{plan:private}})

  注意:如果提供了路径,参数将被忽略。上述示例中的查询并非如此。相反,如以下示例所示,您需要提供路径名或带参数的手写完整路径:

  const userId= 123

  这个。$ router . push({ path:`/user/$ { userId } `});//-/用户/123

  这个。$router.push({name:user ,params:{ userId } });//-/用户/123

  //此处的参数不生效

  这个。$router.push({path:/user ,params:{ userId } });//-/用户

  同样的规则也适用于路由器链接组件的to属性。

  总结:

  Params传递参数,push只能是名称:“xxx”,而不是路径:“/xxx”,因为params只能使用名称来引入路由。如果在此处写入path,则接收参数页将未定义。

  路由传参的方式:

  1.手写完整的路径:

  这个。$ router . push({ path:`/user/$ { userId } `});

  获取参数:这个。$route.params.userId

  2.按参数传输:

  这个。$router.push({name:user ,params:{ userId: 123 } });

  获取参数:这个。$route.params.userId

  Url形式:不带参数的url,http:localhost:8080/#/user

  3.通过查询:

  这个。$router.push({path:/user ,query:{ userId: 123 } });

  获取参数:这个。$route.query.userId

  Url形式:带参数的url,http:localhost:8080/#/user?userId=123

  说白了,query相当于get request。当页面跳转时,您可以在地址栏中看到请求参数。params相当于post请求,参数不显示在地址栏中。

  请注意,以/开头的嵌套路径被视为根路径。这允许您在不设置嵌套路径的情况下充分利用嵌套组件。

  总结

  这就是这篇文章的区别。$路由器和这个。Vue中的$route和push()方法。有关这两者之间差异的更多信息。$路由器和这个。$route in Vue,请搜索我们之前的文章或者继续浏览下面的相关文章。希望大家以后能多多支持我们!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: