2

window.App = Ember.Application.create

ルーター、コントローラーの自動的に作成されたインスタンスに対処するにはどうすればよいですか? 私はそれを述べているいくつかの投稿を見つけました

 App.LoginController = Ember.Controller.extend ...

インスタンス化された

 App.loginController

アプリで - しかし、これは 1.0.0-PRE.4 では当てはまらないようです。

私はいくつかのことを試しました

 App.router // undefined
 App.get("router") // undefined
 App.get("router.loginController") // undefined
 App.get("router.login") // undefined
 App.get("loginController") // undefined
 ...   

しかし、何も機能していないようです。

 App.defaultRouter() 

実際には、新しい空のルーターを作成する関数ですが、私が使用して定義したものではありません

 App.Router.map (match)->
     ...

Chrome で実行中のアプリを調べるためのハンドルを取得しようとしています。また、ember の外部で実行中の非同期呼び出しからコントローラーに変数を渡す必要があります (ユーザーが既にログインしているかどうかを確認するための Facebook ルックアップ) -だから、外からエンバーを覗いて突っ込む方法のヒントは大歓迎です!!

PS: 誰かが ember のバージョン タグを作成してくれませんか: すべての API の変更により、初心者にとって現在最も難しいことは、答えが実際に ember の現在のバージョンに適用されるか、それとも既に古くなっているかを確認することです。 :答えが実際に機能するバージョンを示すタグは本当に役に立ちます...

4

1 に答える 1

2

Ember pre-4 では、インスタンスは App.loginController などに配置されなくなりました。これらはデバッグ/テスト目的でのみ配置され、本番コードでは使用されなかったと思います。これらは現在配置されています

App.__container__

名前が示すように、使用しないでください。スーパープライベートです。:)

4 より前のレンダリング テンプレート/ビューの時点で、コントローラーのセットアップとコントローラーのモデル/コンテンツの定義はルートでセットアップされます。ガイドでそれについて読むことができますhttp://emberjs.com/guides/routing/

Facebook との統合に関する質問については、Ember.Instrumentation 名前空間を使用して、外部からアプリにサブスクライブし、イベントを発生させることができます。ここで質問と回答を確認できます:別のフレームワークから Ember にイベントを発生させる方法

于 2013-01-30T13:40:57.430 に答える