Js 中的循环依赖解决方案
问题概述
循环依赖就是相互依赖,实际项目中难免会遇到这种情况,(a.js 依赖 b.js , b.js 依赖 a.js)
尤其是现在都是模块化的工程,引用想用一个js文件必须先引入。
实际问题
举个例子:
左边是三个电阻(a.js),右边是弹出的旋钮模态框可设置电阻值(b.js)
因为有多个电阻,但只有一个模态框,所以弹出时要记录当前是哪个电阻,当前电阻的值 (a --> b )
当模态框改变值后设置当前电阻的值 。依赖a的set方法(b – a)
解决方案
举个例子:
时间比较仓促,后面更新。
一开始使用的是require 和 model.exports 发现仅能取到一个值,requireJs 的传递方式是单向的,处理循环依赖很麻烦 --> 摒弃
主要是使用了es6的export 和 import ,如果我还没有更新,而你又需要,你可以参考下面的链接。
参考链接
http://es6.ruanyifeng.com/?search=export+&x=4&y=4#docs/module-loader#循环加载
http://www.ruanyifeng.com/blog/2015/11/circular-dependency.html