7

setupControllerフックとフックを理解しようとしてmodelいますが、それらは動的セグメントの場合にのみ呼び出されますか?

これは私のルーター構成です。アプリケーションは正常に動作していることがわかりますが、これらのフックが実行されていることはわかりません。

// Router, this need to connect view and controller
App.Router.map(function(){
  this.resource("login", {path : "/"});
  this.resource("home" , {path : "home/:home_id"});
});

App.Router.IndexRoute = Ember.Route.extend({
  setupController:function(controller,model){
    console.log("in setupController hook for index route");
  }
});

App.Router.LoginRoute = Ember.Route.extend({
  setupController:function(controller,model){
    console.log("in setupController hook for login route");
  }
});

App.Router.HomeRoute = Ember.Route.extend({
  setupController:function(controller,model){
    console.log("in setupController hook for login route");
  }
});
4

1 に答える 1

9

最新の残り火(1.0.0-RC.1)を使用していると仮定すると、次のようにルートを定義する必要があります。

App.HomeRoute = Ember.Route.extend({
  ...
});

それらはあなたの一部でありApp、その部分はありませんRouter

JSBinの動作例

フックの動作modelに関する注意として:setupController

ルートでmodelは、動的セグメントを含むURLに直接移動する場合にのみ呼び出されます。渡されたパラメータはmodel、動的セグメントを使用してそのルートのモデルを取得するために使用されます。

{{#linkTo route myObject}}またはtransitionTo(myObject)呼び出しを使用してルートに到達した場合、渡されたオブジェクトはsetupController直接呼び出すために使用され、呼び出さmodelれません。

ルートsetupControllerが入るたびにフックが呼び出されます

のEmberAPIドキュメントmodel

のEmberAPIドキュメントsetupController

于 2013-03-22T12:51:29.930 に答える