只是試圖來愚蠢的東西,並與Cycle.js玩耍。並遇到問題。基本上我只是有一個按鈕。當你點擊它時,假設將該位置導航到隨機哈希並顯示它。幾乎就像一個沒有預定義路由的愚蠢路由器。 IE瀏覽器。路線是動態的。再次,這不是什麼實際的,我只是搞亂了一些東西,並試圖學習Cycle.js。但是當我點擊「添加」按鈕後,下面的代碼崩潰了。但是位置已更新。如果我實際上只是導航到「#/ asdf」,它顯示正確的內容與「哈希:#/ asdf」。不知道爲什麼流與錯誤而崩潰:簡單的歷史記錄推碰
渲染dom.js:242類型錯誤:無法讀取屬性未定義「訂閱」(...)
import Rx from 'rx';
import Cycle from '@cycle/core';
import { div, p, button, makeDOMDriver } from '@cycle/dom';
import { createHashHistory } from 'history';
import ranomdstring from 'randomstring';
const history = createHashHistory({ queryKey: false });
function CreateButton({ DOM }) {
const create$ = DOM.select('.create-button').events('click')
.map(() => {
return ranomdstring.generate(10);
}).startWith(null);
const vtree$ = create$.map(rs => rs ?
history.push(`/${rs}`) :
button('.create-button .btn .btn-default', 'Add')
);
return { DOM: vtree$ };
}
function main(sources) {
const hash = location.hash;
const DOM = sources.DOM;
const vtree$ = hash ?
Rx.Observable.of(
div([
p(`Hash: ${hash}`)
])
) :
CreateButton({ DOM }).DOM;
return {
DOM: vtree$
};
}
Cycle.run(main, {
DOM: makeDOMDriver('#main-container')
});
感謝您的幫助
啊是有道理的。應該已經想通了。謝謝幫助表示讚賞 – Bojan