3

Ember JSを掘り下げて、ルーターの使用とemberアプリの構造化に関するhttp://trek.github.com/の優れたガイドを読んでください。フレームワークは素晴らしく、初期のチュートリアルのいくつかに基づいて長い道のりを歩んできました。

私の質問は、ルーターとconnectOutletメソッドによって初期化されたコントローラーのインスタンスを更新するための強い意見/良い例/ベストプラクティスがありますか?

connectOutlets: function(router,context){           
    router.get('applicationController').connectOutlet(
        'attlist',
        'smartSensor',
        App.SmartSensor.getSensorData(context)
    );
}

SmartSensorモデルのgetSensorData()関数は、バックエンドのRESTAPIを呼び出します。次に、サーバーを定期的にポーリングして、コントローラーの属性が更新されているかどうかを確認し、必要に応じてコントローラーを更新します。私はそれを強制することができるいくつかの方法を考えることができますが、きれいに見えるものは何もありません。何かアイデアがありますか、それとも私はそれを考えすぎていますか?

ありがとう!

4

1 に答える 1

3

私は次のいずれかを行います:

a) 新しいpollerオブジェクトを作成し、 への参照を与えますsmartSensorController。ルーターはメソッドでstartPolling()ポーラーを呼び出し、必要な状態を離れるときに呼び出します (アプリで不要になると仮定します)。connectOutletsstopPolling()

...また...

b)smartSensorControllerポーリングの責任を負います。connectOutlet を呼び出した後、ルーターの適切な場所でrouter.get('smartSensorController').startPolling()対応することを行います。stopPolling()

それが役立つことを願っています!

于 2012-10-05T04:40:38.383 に答える