JSONでサーバーからデータを取得しており、それをviewModal
. 今、 return を使用して新しいビューをロードしていますrouter.navigate('results')
。しかし同時にviewModel
、JSON オブジェクトから作成した をこのビューに渡す必要があります。デフォルトでは「結果」viewModel
が呼び出されますが、値は空白です。Durandal JS は初めてなので、小さなコード スニペットが役に立ちます。
質問する
594 次
3 に答える
1
私が持っている最良の答えは、次のように、その情報を別のモジュールに保存することです。
storage.js
define(function(require) { return []; });
viewmodel.js
define(['storage'], function(storage) {
$.get('uri', function(data) {
data.forEach(function(obj) {
storage.push(obj);
});
});
});
これは最も洗練されたソリューションではありません。アクティベーション時にビューモデルからデータを渡したり、ビューモデルを分離したりするためのクリーンな方法があるかどうか、私は本当に興味がありますが、これまでのところ何も見つかりませんでした。
于 2013-10-10T16:56:12.890 に答える
1
最終的にはこんな感じになりました。
- ナビゲートしたいモジュールで、JSON オブジェクトを受け入れる「初期化」関数を作成しました。この JSON オブジェクトを使用して、viewModel のすべてのプロパティを初期化しました。
- そこからナビゲートする必要があるページから、次にナビゲートしたいモジュールで「require」を行いました。次に、「Initialize」メソッドを呼び出して、JSON オブジェクトを渡しました。
- この後、 router.navigate メソッドを使用してそのモジュールに移動しました。
このようにナビゲートすると、あるビューから別のビューに渡したいすべての値を取得できました。このアプローチが他の誰かに役立つことを願っています。
于 2014-03-03T21:44:28.937 に答える