Передача данных в компонент при маршрутизации с помощью mithril.js - PullRequest
0 голосов
/ 12 февраля 2019

Я играю с 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)

Что мне не хватает?

...