zoukankan      html  css  js  c++  java
  • 4.5 Routing -- Setting Up A Controller

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

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

    3. 为了告诉controller去展示哪个模板,在路由处理器的setupController hook中设置它的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);
      }
    });
  • 相关阅读:
    C语言第0次作业
    C语言博客作业02循环结构
    C语言博客作业04数组
    C语言博客作业03函数
    #C博客作业01分支、顺序结构
    函数
    operation on i may be undefined
    #关于C语言的顺序结构
    关于代码习惯
    VS2019调试的一系列待理解解决问题
  • 原文地址:https://www.cnblogs.com/sunshineground/p/5157731.html
Copyright © 2011-2022 走看看