Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Ember.js中,setupController和模型挂钩是否仅适用于动态段?_Ember.js - Fatal编程技术网

在Ember.js中,setupController和模型挂钩是否仅适用于动态段?

在Ember.js中,setupController和模型挂钩是否仅适用于动态段?,ember.js,Ember.js,我试图理解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

我试图理解
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");
  }
});

假设您使用的是最新的ember(1.0.0-RC.1),您应该这样定义您的路线:

App.HomeRoute = Ember.Route.extend({
  ...
});
它们是你的
应用程序的一部分,没有
路由器部分

关于
模型
设置控制器
挂钩行为的说明:

在路由中,
model
仅在直接导航到包含动态段的URL时才会被调用。传递到
model
的参数用于使用动态段检索该路线的模型

如果使用
{{#linkTo route myObject}}
传递到(myObject)
调用到达路由,则传递的对象用于直接调用
setupController
,而不调用
model

setupController
钩子将在每次路线进入