在网搜索到这位哥们的博客,完美解决了我的问题。感谢博主,博客地址:
导航上有2个菜单,指向的是同一个列表,但是是不同的状态。我需要根据不同的状态获取状态参数给接口拿到不同的数据。
需求貌似很简单 *0_0*。
本文只针对有一定vue基础的同学有用,如果你是其他框架的同学请忽略。如果想学习vue但不是很熟悉的同学,可以参看我的vue相关博客
为说明核心问题,只放出核心代码。其他代码请自行脑补。
如上,我希望得到结果是,点击不同的菜单,得到不同的状态值,然后我就可以拿这个值去向接口请求信息了。结果是,只有从其他页面来这边的时候,才会出现一次,但是,在这两个页面之间进行切换的时候,毛都没有。。。。
路由没有发生变化,因此,只有在第一次进入的时候会因为created
执行。在这两个页面之间进行切换,是不会触发这个执行的。
好,貌似找到原因,进行修改。
通过配置不同的路由进行获取传参
代码看上去健壮了很多嘛,执行以下看看。。。。
干他大娘的,和第一个执行结果一毛一样啊!!!只有第一次打开的时候,才会执行,在两个之间切换,啥都没发生。。。。
虽然路由地址变化了,但是还是只想的是同一个组件,而created
是创建组件的时候执行,这个钩子根本就不适用啊。。。
翻查vue-router
官方文档,始终找不到一个合适的钩子来执行代码。咋整??
一页一页的翻看官方文档,终于找到了解决方法,参看
其他设置和方案2一样,页面代码如下:
每种技术都有其利弊,单页应用也是如此。
以上只是教我们用最简单的方法使用vue-router。但实际开发过程中,首先我们的vue组件显然不会只有一个template模板这么简单,会用到vue的;
其次我们通常会希望<router-view>的范围是整个页面,而不是像现在这样一直有几个碍眼的导航存在于页面上,这就需要先定义好默认状态下<router-view>显示的内容。
既然是单页应用(SPA),那么整个项目有以下三个文件是必要的:
接下来 我们就创建两个自定义组件:index.vue和hello.vue。我们希望的结果是他们之间互相跳转。
我们利用官方提供的脚手架vue-cli
工具生成简单的一个基于webpack打包的vue项目
生成的vue项目如下图:
这样就会把渲染出来的页面挂载到这个id为app的div里了。
修改后运行的效果如下:
以上遍是vue-router基本使用方式了
更详细的vue-router功能请参考文档:
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。