BrightTan

Results 11 comments of BrightTan

![image](https://user-images.githubusercontent.com/41466942/167264204-ac67baee-ef2b-4c61-a8db-23c015368550.png) just like this

哇,我的数据呀,心态崩了

@yyx990803 尤大大,could this kind of lifecycle hook be possible to add? it really helps a lot

> In my opinion, this may be the creation flow function of a component. If you don't want to maintain a global state yourself, `Vue.minxin` may be able to solve...

    I know React is encourage Unidirectional Data flow, and change props directly is not encourage in Vue. but it's so convenient to modify data with props' ref, we just need...

@nooooooom 大概就是这个意思,我其实就是想让组件自己created绑定值, beforeDestroy清空值,其实两个组件控制的值key不一样还行,如果遇到key一样就会冲突了。主要的问题是收集组件里的数据很麻烦,如果组件数据是独立的话。。

> 如果你不想每个组件都绑一个 key ,并且你的组件都拥有同一个父级的话,根据你的描述,用[指令](https://v2.vuejs.org/v2/guide/custom-directive.html#ad)就能完成你的需求了 指令执行顺序是 下一个组件created => 当前组件beforeDestroy => 当前组件指令unbind,还是滞后执行unbind,不太明白指令怎么实现。如果说是它来做自动收集数据的话,不太明白咋做到QAQ

> > > 如果你不想每个组件都绑一个 key ,并且你的组件都拥有同一个父级的话,根据你的描述,用[指令](https://v2.vuejs.org/v2/guide/custom-directive.html#ad)就能完成你的需求了 > > > > > > 指令执行顺序是 下一个组件created => 当前组件beforeDestroy => 当前组件指令unbind,还是滞后执行unbind,不太明白指令怎么实现。如果说是它来做自动收集数据的话,不太明白咋做到QAQ > > 只需要在 `unbind` 或者 onHook:destroyed 的时候重置数据就可以了 我之前也是这样想的,我实践发现 如果下一个替换进来的组件B也使用到了这个数据,它可能会在created做初始化,那当前组件A指令的unbind和组件钩子beforeDestroy以及destroyed 执行因为迟于组件B的created,所以都会把B初始化的数据给重置了,难受

> 我认为数据的流向在这种情况下是没有问题的,即使你不通过 `props` 来传输,你也会想办法用 `provide` 或者全局状态来调控, 但是我认为最重要的是尽可能的减少组件中关于 “重置数据” 这段逻辑的引用,因为它不再跟 “组件是用来提供数据” 这个逻辑相关 > > 这是一个来自父组件(或者是数据接受者自己的逻辑),指令或者组件的声明周期钩子回调都可以很好的完成这个任务 我理解你的意思是让下一个替换进来的组件自己初始化的时候来重置数据吧。这相当于让B组件来清理A组件产生的副作用了,我当时没办法了也是这样想过,可是组件创建的逻辑可能是表单初始化,也可能是联动出现。我无法判断传入的数据是服务器传过来反显的数据还是另一个组件的副作用产生的数据,很难处理