4.5 Routing -- Setting Up A Controller

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了4.5 Routing -- Setting Up A Controller相关的知识,希望对你有一定的参考价值。

1. 改变URL可能也会改变屏幕显示哪个模板。然而,如果它们有信息去显示,模板才是有用的。

2. 在Ember.js中,一个模板从一个controller检索信息去显示.

3. 为了告诉controller去展示哪个模板,在路由处理器的setupController钩子中设置它的model属性。

app/router.js

Router.map(function() {
  this.route(‘post‘, { path: ‘/posts/:post_id‘ });
});

app/routes/post.js

export default Ember.Route.extend({
  // The code below is the default behavior, so if this is all you
  // need, you do not need to provide a setupController implementation
  // at all.
  setupController: function(controller, model) {
    controller.set(‘model‘, model);
  }
});

4. setupController hook接受路由处理器相关的controller作为它的第一个参数。在这种情况下,post路由的setupController接受应用程序的controller:posts实例。

5. 指定一个默认之外的controller,设置路由的controllerName属性:

app/routes/special-post.js

export default Ember.Route.extend({
  controllerName: ‘post‘
});

作为第二个参数,它接受路由的处理器model。

6. 默认的setupController hook设置相关controller的model属性到路由处理器的model。

7. 如果你想要配置一个路由处理器相关的controller之外的controller,使用controllerFor方法:

export default Ember.Route.extend({
  setupController: function(controller, model) {
    this.controllerFor(‘topPost‘).set(‘model‘, model);
  }
});

以上是关于4.5 Routing -- Setting Up A Controller的主要内容,如果未能解决你的问题,请参考以下文章

Setting up a database adapter

[Elm] Installing and setting up Elm

Setting up a personal development environment

Deep Learnin 7: Setting up machine learning application

Setting up Business Partner S/4 - ZZ

Docker For Windows | Setting Up Docker On Windows