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);
}
});

4.5 Routing -- Setting Up A Controller的更多相关文章

  1. recess----2.Controller里面取用request信息

    事实上,第一个APP里面除了没有model,其它的都有用过了,但是需要单独拎出来看看清楚. Recess框架里面的controller就是一个典型的MVC框架的controller,它负责处理从浏览器 ...

  2. Host Controller transport layer and AMPs

    The logical Host Controller Interface does not consider multiplexing/routing over the Host Controlle ...

  3. 【ASP.NET MVC 5】第27章 Web API与单页应用程序

    注:<精通ASP.NET MVC 3框架>受到了出版社和广大读者的充分肯定,这让本人深感欣慰.目前该书的第4版不日即将出版,现在又已开始第5版的翻译,这里先贴出该书的最后一章译稿,仅供大家 ...

  4. CI加载流程小结

    无聊,决定水一把. CI(CodeIgniter)是我最早接触的一个框架,到现在也只是用了其中一点零碎的方法.一直想对其流程做个小结,却总是因各种各样的“理由”挨着.看见别人图表齐上阵,没那耐心,就从 ...

  5. Ember.js学习教程 -- 目录

    写在前面的话: 公司的新项目需要用到Ember.js,版本为v1.13.0.由于网上关于Ember的资料非常少,所以只有硬着头皮看官网的Guides,为了加深印象和方便以后查阅就用自己拙劣的英语水平把 ...

  6. 【转】Controllers and Routers in ASP.NET MVC 3

    Controllers and Routers in ASP.NET MVC 3 ambilykk, 3 May 2011 CPOL 4.79 (23 votes) Rate: vote 1vote ...

  7. 《精通MVC5.0》路由笔记

    MVC使用路由系统处理请求的URL.路由系统主要功能 检查请求的URL,并理解该URL对应的控制器和方法 生成URL地址 在MVC程序中有两种方式创建路由:convention-based routi ...

  8. MVC之过滤器

    1.过滤器 <a>:Authorization 默认实现 AuthorizeAttribute身份验证过滤器,首先运行,在其他过渡器的操作操作方法前执行;<b>:Action ...

  9. Symfony启动过程详细学习

    想了解symfony的启动过程,必须从启动文件(这里就以开发者模式)开始. <?php /* * web/app_dev.php */ $loader = require_once __DIR_ ...

随机推荐

  1. ch5-处理数据,抽取-整理-推导

    场景:教练kelly有4个选手James\Sarah\Julie\Mikey,他们每跑600米,教练就会计时并把时间记录在计算机的一个文件中,总共4个文件:James.txt\Sarah.txt\Ju ...

  2. oracle12c创建用户和表空间出现的问题

    Oracle12c 中,增加了可插接数据库的概念,即PDB,允许一个数据库容器(CDB)承载多个可插拔数据库(PDB).CDB全称为 ContainerDatabase,中文翻译为数据库容器,PDB全 ...

  3. STM32学习之路之MDK安装篇

  4. Spring学习笔记--Spring表达式语言SpEL

    Spring3引入了Spring表达式语言(Spring Expression Language,SpEL).SpEL是一种强大的.简洁的装配Bean的方式,它通过运行期执行的表达式将值装配到Bean ...

  5. win10下安装Oracle 11g 32位客户端遇到INS-13001环境不满足最低要求

    在以管理员身份运行setup.exe之后,出现了:[INS-13001]环境不满足最低要求,通过网上搜索之后找到了解决途径 首先,打开你的解压后的database文件夹,找到stage,然后cvu,找 ...

  6. 日志系统实战 AOP静态注入

    http://www.cnblogs.com/mushroom/p/3932698.html http://www.cnblogs.com/mushroom/p/4124878.html http:/ ...

  7. c# 执行 CreateHandle() 时无法调用值 Dispose()

    在多线程C#开发中,遇到错误 执行 CreateHandle() 时无法调用值 Dispose().,这个错误是在关闭窗体的时候出来的. 原因是因为窗体还存在CreateHandle()事件,所以还不 ...

  8. python 多线程ping大量服务器在线情况

    需要ping一个网段所有机器的在线情况,shell脚步运行时间太长,用python写个多线程ping吧,代码如下: #!/usr/bin/python #coding=utf-8 ''' Create ...

  9. 查询hadoop参数变量

    [hadoop@master hadoop]$ hive -S -e 'set -v'|grep querylog|grep -E -v 'CLASSPATH|class'hive.querylog. ...

  10. Service学习笔记

    一 什么是Service Service作为安卓四大组件之一,拥有重要的地位.Service和Activity级别相同,只是没有界面,是运行于后台的服务.这个运行“后台”是指不可见,不是指在后台线程中 ...