我刚开始使用refluxjs /与webpack做出反应。我真的很喜欢var ResumeService = require('services/ResumeService');
var ResumeActions = Reflux.createActions({
'save': {
asyncResult: true
}
});
ResumeActions.save.listenAndPromise(ResumeService.save);
异步模式,但我遇到了问题。我得到了以下代码:
动作:
var http = require('utils/http');
var ENDPOINT = '/resumes/';
module.exports = {
save: function() {
return http.post(ENDPOINT + 'save', {
resume: ??????????
});
},
}
ResumeService:
var RendererActions = require('actions/RendererActions');
var ResumeStore = Reflux.createStore({
listenables: [ResumeActions],
resume: Immutable.fromJS(ResumeExample), //nested object
onSaveCompleted: function(id) {
.....
},
onSaveFailed: function() {
....
}
...
});
店铺的一部分:
Action.save()
因此,当用户进行更改时,将更新商店中的resume变量。现在,用户想要保存更改,然后按下一个触发resume
的按钮。我的问题就出现了:如何将service
变量从商店传递到上面的var Store = require('stores/ResumeStore');
文件?
奇怪的是,如果我在service
文件中object {}
,它的值为getElementsByName
,只有当我在服务中包含商店时才会发生这种情况,我认为与无限循环要求或类似的东西有关。 (存储需要操作,操作需要服务,服务需要存储)
答案 0 :(得分:0)
为什么不在ResumeService的save方法中添加简历作为参数?
module.exports = {
save: function(resume) {
return http.post(ENDPOINT + 'save', {
resume: resume
});
},
}
然后ResumeActions.save.listenAndPromise(ResumeService.save);
应该有效。 listenAndPromise只是将动作有效负载传递给它的回调参数。