我試圖學習Cycle.js
,必須說我發現它很有趣。我試圖創建一個簡單的應用程序,我有一個input
和一個ul
。每次寫入一些值到input
,然後按Enter鍵我想添加一個新的li
,其值爲ul
,但其失敗並出現以下錯誤。Cycle.js應用程序未捕獲類型錯誤
Uncaught TypeError: observables[_name2].doOnError is not a function
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(...)中的函數也應該返回一些東西。 – juanrpozo