引入
刚刚接触VUE的开发没多久,做了一个小项目,其中要用到父组件向子组件传值的问题,网上看到的都是只讲原理不讲怎么用,看的我头皮发麻,我摸索了半天。于是就记录一下,希望能有前端大佬顺手指正我的不足。
实例
做一个导航栏并传值给子组件的子组件
第一步先写好导航栏
很多人像我这样的初学者,接触到父传子的功能应该就是导航栏携带ID给页面的子组件,比如像我这样
文件 导航栏.vue
其中我采用了<router-link :to="{name: 'xxx',query: {id: this.xxx} }">xxz</router-link>
这种传参方式,还有其他方式,我这里就不赘述,用法都差不多。
这个this.IBS 在data里面,我这里做的比较简单,直接就写死了。
第二步写好一个主页面
文件 主页面.vue 就是上面的name为IBS的那个页面
我这里的主页面中没有用到很复杂的逻辑,仅仅只是拼接组件然后渲染,这里的数据来源就是导航栏。所以这里这样写
通过this.$route.query.id
获取路由传参,然后放到子组件的自定义属性 :prid
中,然后让子组件通过props方法获取
第三步写好一个组件
props 怎么获取呢,有很多种获取方式,我这里采用限制传参类型的方式
props 直接放在data()下面就行了,这样找数据也比较好找。props中的数据怎么使用呢,很简单,直接this.proid
也就是直接this里面传过来的参数就行了,直接可以取到值。
最后一步 用上取出来的值
直接在请求接口中,把值放进去就好了
用起来其实很简单,但是这个的原理还是有意思的,高端用法也有很多。
抛砖引玉,希望能有前端大佬教教我们高端用法。