1

を使用する場合m.module、最初のレンダリングが正しいデータで開始されるように、コントローラー コンストラクターに引数を提供したいと思うことがよくあります。ただし、Mithril のドキュメントと例では、常にパラメーターなしで表示module.controller()されmodule.vm.init()ます。

この問題を回避するにmodule.controller(initData)は、この小さなユーティリティ関数を使用して、既存の m.Module をラップおよび拡張することにしました。

var mModule = function (dom, mod, arg) {
  return m.module(dom, {
    view: mod.view,
    controller: mod.controller.bind(mod.controller,arg)
  });
};

質問:

  1. これはアンチパターンですか?カスタム外部データを使用してモジュールをインスタンス化する別の推奨される方法はありますか?
  2. これにより、m.route で問題が発生しますか? ソースコードで再帰呼び出しについて言及されているのを見ましたが、理解できませんでした。
  3. m.module上記の 2 点に続いて、意図的な設計選択のためのパラメーターの欠如はありますか?

ああ...そして、既存のドキュメントと議論に関わってくれたすべての人に感謝します。

4

1 に答える 1