Я играю с mithril.js ("mithril": "^1.1.6"
).Это выглядит великолепно, но я не понимаю, как компоненты взаимодействуют.Точнее, я бы хотел передавать данные компонентам во время маршрутизации.Вот что я сделал до сих пор, это index.js
и его Wmain
компонент:
import Wuser from './ui/wuser.js';
...
import * as MockedUser from './model/user.json';
var Wmain = {
view: function(vnode) {
return m("div",[
m("h3", "Main landing page."),
m("a[href='/user']", {oncreate: m.route.link(vnode.attrs.user)},
"Wuser"),
m("p", "hello")
]);
}
}
m.mount(document.body, { view() { return m(Wmain, MockedUser.default)}});
m.route(document.body, "/", {
"/": Wmain,
"/user": Wuser
});
И это простой Wuser
компонент:
const m = require("mithril");
export default {
view: function(vnode) {
return (
<div>
{
console.log('ehy user! '+JSON.stringify(vnode))
}
</div>
);
}
};
Нокогда я бегу, у меня появляется ошибка:
Uncaught TypeError: Cannot read property 'setAttribute' of undefined
at Function.route.link (mithril.js?c307:1224)
at Object.view (index.js?12d5:10)
at initComponent (mithril.js?c307:500)
Что мне не хватает?