【发布时间】:2016-02-26 12:23:42
【问题描述】:
我正在努力学习Cycle.js,我必须说我觉得它很有趣。我正在尝试创建一个简单的应用程序,其中有一个input 和一个ul。每次向input 写入一些值并按回车键时,我想将新的li 添加到ul,但它失败并出现以下错误。
未捕获的 TypeError:observables[_name2].doOnError 不是函数
var view = function (state) {
return CycleDOM.body([
CycleDOM.input({ type: 'text', value: '' }),
CycleDOM.ul({ className: 'text' },
state.map(function (value) {
CycleDOM.li({ innerText: value });
}))
]);
};
var intent = function (DOM) {
return DOM.select('input[type=text]').events('keydown').filter(function (ev) {
return ev.which == 13 && ev.target.value.trim().length > 0;
}).map(function (ev) {
return ev.target.value;
});
};
var model = function (action) {
return action.startWith('');
};
var main = function (sources) {
var actions = intent(sources.DOM);
var state = model(actions);
var sinks = {
DOM: view(state)
};
return sinks;
}
var drivers = {
DOM: CycleDOM.makeDOMDriver(document.body)
};
Cycle.run(main, drivers);
【问题讨论】:
-
抛开程序逻辑,view()需要返回一个Observable,state.map(...)里面的函数也应该返回一些东西。
标签: javascript html rxjs cyclejs