Vue 父组件可以通过 ref 修改子组件的值,那么我们还要不要通过 prop 去传值呢?
想请教各位大佬如标题所述的问题,并且咨询一下: 1.如果更好的对前端 Vue 代码划分模块,有什么诀窍吗 2.组件间传值的较好的解决方案:父组件向子组件可通过 ref 与 prop,感觉操作 ref 比用 prop 传值更方便,有什么弊端吗。
想请教各位大佬如标题所述的问题,并且咨询一下: 1.如果更好的对前端 Vue 代码划分模块,有什么诀窍吗 2.组件间传值的较好的解决方案:父组件向子组件可通过 ref 与 prop,感觉操作 ref 比用 prop 传值更方便,有什么弊端吗。
如果你只是单纯的需要父组件修改子组件响应那用 ref 没问题,不过还是建议使用 prop,因为以后看的时候看一眼 props 就能知道有什么参数可以改了
Angular 压根不允许持有子组件的引用(在 Vue 中对应 vm,var vm=new Vue(…)),更别提调用子组件的方法( Vue 中应该是 methods )和修改子组件的成员值(在 Vue 中应该是 data )。
Angular 通过 props 和 Service 传值,那么在 Vue 里面应当也使用 props 和状态管理( vuex )传值。
然后,传递变化、多值需要用到一个简单优雅的类——Observable ( rxjs ),也可以将这个单独引入 vue 。
组件一般都会提供一些参数,拿 element-ui 举例,button 组件有 type,size 参数,通过 prop 去传很方便也很直观,而且是写在模板里就可以,后面如果动态修改的话,父组件里 this.btn_type 也比 this.$refs.btn.type 要方便些吧。
我个人用到 ref 的时候,基本都是调用子组件的方法。
对了,props 还可以做一些简单的验证