モデルに計算されたプロパティがあり、それを計算するには、コントローラーからのプロパティが必要です (モデルを制御しているものではありません)。あることは知っていますがneeds:
、これは単なる
コントローラーレベルです。
モデルを管理しているコントローラー以外のコントローラーから Ember のプロパティを取得するにはどうすればよいですか?
[この質問をした人][1] のような書式設定をしようとしていますが、そこで提案されていることに成功しませんでした。
そのため、計算されたプロパティを使用してモデルのフォーマットを実行しようとしましたが、そのプロパティを計算するには、コントローラーから別のプロパティが必要です。
どんな助けでも大歓迎です!ありがとう!
注: モデルの管理には EmberData を使用しています。
編集:
私がやろうとしていることを明確にするために、問題
を一般的な方法で示す例を設定しました:サンプルアプリケーションでは、数値を入力し、保存し
、リストに表示できます。モデルデータ自体は変更せず、テンプレート上の表示を変更する「変換係数」を入力することもできます。たとえば、数値 2 を入力すると、2 はモデルに保存されますが、リストに表示されると、以前に入力した変換係数で「フォーマット」され、計算された値がテンプレートに表示されます。問題は、フォーマットしたい値が別のコントローラーに保存されていることです。これまでに試したことは次のとおりです。
#1 アプローチ: ArrayController
の計算されたプロパティ -needs:
コントローラーで使用してトラバースし、値を取得する --
> jsfiddleこの例ではローカル ストレージを使用しているため、いくつかのレコードを作成し、ArrayController の計算されたプロパティのコメントを解除すると、最初は期待どおりに機能し、入力したレコードが表示されることがわかります)。
#2アプローチ:
モデル自体の計算されたプロパティ
-> jsfiddle
私が遭遇した問題:
モデル内にいるときにコントローラーからプロパティを取得する方法がわかりません- #3 アプローチ:
ハンドルバー ヘルパーとneeds:
コントローラー
1) コントローラー (モデルを処理する) で計算されたプロパティを定義して、他のコントローラーから問題の値を取得します
2) ハンドルバー ヘルパーを作成し、モデルから値を渡し、コントローラーから値を取得し、計算された値を返します
-->jsfiddle (まだ十分な評価ポイントがないため、コメントで 3 番目の jsfiddle へのリンクを見つけることができます)。
私が遭遇した問題:
フォーマットされた数値を表示する代わりに、レンダリングされたテンプレートのすべての値で "NaN" を取得します。
誰かがこれを解決する方法を知っているか、正しい方向に私を向けることができれば素晴らしいでしょう. あなたの助けは本当に感謝しています! 御時間ありがとうございます!