如何访问/
路由时执行一段代码?如何在每次索引命中时执行代码?
我现在有这样的:
App.indexController = Ember.Controller.extend({
showFront: function() {
alert("zzz");
}
});
但我坚持。我怎样才能使它实际工作?
如何访问/
路由时执行一段代码?如何在每次索引命中时执行代码?
我现在有这样的:
App.indexController = Ember.Controller.extend({
showFront: function() {
alert("zzz");
}
});
但我坚持。我怎样才能使它实际工作?
您可以使用beforeModel
和setupController
钩来执行代码加载时的路线。
App.Router.map(function(){
this.resource('posts', { path: '/posts' }, function() {});
});
App.PostsRoute = Ember.Route.extend({
// http://emberjs.com/api/classes/Ember.Route.html#method_beforeModel
beforeModel: function() {
console.log("beforeModel fired");
},
// http://emberjs.com/api/classes/Ember.Route.html#method_setupController
setupController: function(controller, model){
this._super(controller, model);
console.log("setupController fired");
},
model: function(){
// resolve the promise after a short delay
return Ember.RSVP.Promise(function(resolve, reject){
setTimeout(function(){
resolve(true);
}, 2000);
});
}
});
beforeModel
会火,顾名思义,之前的模型加载,模型加载后setupController
会火。 JSBin中的示例使用延迟加载模型来演示差异。
此示例显示了用于App.Post
路线的挂钩,但如果要在加载默认路线时执行代码,则可以在App.ApplicationRoute
上使用此挂钩。
这不是工作:App.IndexRoute = Ember.Route.extend({ setupController:功能(控制器){ $( '#认证')显示();} } ) ; –