Flux 模式实现:DeLorean
jopen
10年前
DeLoreanjs(Delorean.js) 是 Flux 模式迷你实现:
-
单向数据流,是的你的应用逻辑比 MVC 还简单
-
自动监听数据变化情况,保持数据持续更新
-
这是个很完整的框架,没有视图框架
-
非常小,压缩后只有 4K
-
内置 React.js 集成,易于使用 Flight.js 和 Reactive.js 或者其他的 JS 库
-
使用回滚提高 UI 和数据的一致性
示例:
/* * Stores are simple data buckets which manages data. */var Store = Flux.createStore({ data: null, setData: function (data) { this.data = data; this.emit('change'); }, actions: { 'incoming-data': 'setData' }});var store = new Store();/* * Dispatchers are simple action dispatchers for stores. * Stores handle the related action. */var Dispatcher = Flux.createDispatcher({ setData: function (data) { this.dispatch('incoming-data', data); }, getStores: function () { return {increment: store}; }});/* * Action Creators are simple controllers. They are simple functions. * They talk to dispatchers. They are not required. */var Actions = { setData: function (data) { Dispatcher.setData(data); }};// The data cycle.store.onChange(function () { // End of data cycle. document.getElementById('result').innerText = store.store.data;});document.getElementById('dataChanger').onclick = function () { // Start data cycle: Actions.setData(Math.random());};