我正在努力学习Cycle.js
,并且必须说我发现它很有趣。我正在尝试创建一个简单的应用程序,其中我有一个input
和一个ul
. 每次向 the 写入一些值input
并按 Enter 键时,我都想向 中添加一个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);