データのリストをソートして変更を反映しようとしていますが、サブコンポーネントを使用してコンテンツをレンダリングすると、Mithril.js:ビューでサブコンポーネントが使用されている場合にソートデータが再レンダリングされない
私のソート機能は、単にボタンのonclickのによって呼び出されている:
m('button', {onclick: ctrl.sort}, 'sort'),
は、ここに私の問題を複製jsfiddleです。最初のバージョンは、サブコンポーネントを使用してレンダリングします。 https://jsfiddle.net/4trL6y22/
ctrl.names.map(function(name){
return m(Hello, {who: name});
})
コードはサブコンポーネントなしで書き換えた場合、ソートが発生した後、ビューが更新されます: https://jsfiddle.net/4trL6y22/1/
ctrl.names.map(function(name){
return m('h1', name);
})
(私の実際のケースは、サブコンポーネントを持つから、より複雑と利点であります)。この種の差異をページに吹き込むために私は何が欠けていますか?
おかげで、にサブコンポーネントを回します純粋なコンポーネントがトリックでした。私はまだメカニックを理解しようとしています。コントローラ機能の実行方法と実行時期に関するドキュメントを私に指摘してもらえますか? – user1219358
ええと...私は実際にあなたを指し示すものがないことを知っています(私はコントローラが似たようなたびに呼び出されなかったことに気付きました。関連するコードは、[here](https://github.com/lhorie/mithril.js/blob/next/mithril.js#L749)です。 :-s – Bryce
ええと、私が見つけやすいのは 'コントローラの関数は、コンポーネントがレンダリングされるときに一度呼び出されます。その後、ビュー関数が呼び出され、再描画が必要なときはいつでも、再度呼び出されます。コントローラー関数の戻り値は、最初の引数としてビューに渡されます.' http://mithril.js.org/mithril.component.html - 一般的なコントローラーの説明 – Bryce