4.6 Routing -- Rendering A Tempalte
1. route handler一个重要的任务就是渲染合适的模板到屏幕。
2. 默认的,一个route handler将会呈现模板到最近的父模板。
app/router.js
Router.map(function() {
this.route('post');
});
app/routes/post.js
export default Ember.Route.extend();
3. 如果你想呈现一个和route handler相关模板之外的模板,实现renderTemplate hook:
app/routes/post.js
export default Ember.Route.extend({
renderTemplate() {
this.render('favoritePost');
}
});
4. 如果你想使用route handler的controller之外不同的controller,传递这个controller的名字到controller选项:
app/routes/post.js
export default Ember.Route.extend({
renderTemplate() {
this.render({ controller: 'favoritePost' });
}
});
5. Ember允许你命名你的outlets。下面的例子使用了明确的名字指定了两个outelets:
<div class="toolbar">{{outlet "toolbar"}}</div>
<div class="sidebar">{{outlet "sidebar"}}</div>
所以如果你想要呈现你的posts到sidebar outlet,使用这样的代码:
app/routes/post.js
export default Ember.Route.extend({
renderTemplate() {
this.render({ outlet: 'sidebar' });
}
});
6. 上面描述的所有选项可以被一起使用,你想要什么组合都可以:
app/routes/post.js
export default Ember.Route.extend({
renderTemplate() {
var controller = this.controllerFor('favoritePost');
// Render the `favoritePost` template into
// the outlet `post`, and use the `favoritePost`
// controller.
this.render('favoritePost', {
outlet: 'post',
controller: controller
});
}
});
7. 如果你想要渲染两个不同的模板到一个路由的两个不同的被加载的模板的outlets中:
app/routes/post.js
export default Ember.Route.extend({
renderTemplate() {
this.render('favoritePost', { // the template to render
into: 'posts', // the template to render into
outlet: 'post', // the name of the outlet in that template
controller: 'blogPost' // the controller to use for the template
});
this.render('comments', {
into: 'favoritePost',
outlet: 'comment',
controller: 'blogPost'
});
}
});
4.6 Routing -- Rendering A Tempalte的更多相关文章
- Ember.js学习教程 -- 目录
写在前面的话: 公司的新项目需要用到Ember.js,版本为v1.13.0.由于网上关于Ember的资料非常少,所以只有硬着头皮看官网的Guides,为了加深印象和方便以后查阅就用自己拙劣的英语水平把 ...
- ASP.NET Routing
ASP.NET Routing Other Versions ASP.NET routing enables you to use URLs that do not have to map to ...
- Rendering on the Web
转自: https://developers.google.com/web/updates/2019/02/rendering-on-the-web Rendering on the Web Goog ...
- Rendering and compositing out of process iframes
For Developers > Design Documents > Out-of-Process iframes (OOPIFs) > Rendering and ...
- 【原】实时渲染中常用的几种Rendering Path
[原]实时渲染中常用的几种Rendering Path 本文转载请注明出处 —— polobymulberry-博客园 本文为我的图形学大作业的论文部分,介绍了一些Rendering Path,比较简 ...
- Forward+ Rendering Framework
近几天啃各种新技术时又一个蛋疼的副产品...额,算是把AMD的Forward+ Sample抄了一遍吧. 其实个人感觉这个AMD大肆宣传的Forward+跟Intel很早之前提的Tiled-Based ...
- Thinking in Unity3D:渲染管线中的Rendering Path
关于<Thinking in Unity3D> 笔者在研究和使用Unity3D的过程中,获得了一些Unity3D方面的信息,同时也感叹Unity3D设计之精妙.不得不说,笔者最近几年的 ...
- CSharpGL(30)用条件渲染(Conditional Rendering)来提升OpenGL的渲染效率
CSharpGL(30)用条件渲染(Conditional Rendering)来提升OpenGL的渲染效率 当场景中有比较复杂的模型时,条件渲染能够加速对复杂模型的渲染. 条件渲染(Conditio ...
- CSharpGL(8)使用3D纹理渲染体数据 (Volume Rendering) 初探
CSharpGL(8)使用3D纹理渲染体数据 (Volume Rendering) 初探 2016-08-13 由于CSharpGL一直在更新,现在这个教程已经不适用最新的代码了.CSharpGL源码 ...
随机推荐
- PHP-004
'URL_CASE_INSENSITIVE' => true,设置为true的时候表示URL地址不区分大小写,这个也是框架在部署模式下面的默认设置. URL模式 : URL_MODEL设置 ...
- docker rmi 详解
docker rmi 用于删除指定的镜像,常见用法如下: [root@localhost ~]$ docker rmi centos # 根据 REPOSITORY 来删除镜像 [root@local ...
- linux系统socket通信编程详解函数
linux socket编程之TCP与UDP TCP与UDP区别 TCP---传输控制协议,提供的是面向连接.可靠的字节流服务.当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之 ...
- Spring学习笔记--通过构造方法创建Bean
如果一个bean没有默认的构造函数,那么可以通过工厂方法来构造一个bean.Spring通过<bean>元素的factory-method属性来装配工厂创建的Bean.下面例子中的Stag ...
- delphi 获取网卡信息(支持多网卡)
delphi 获取网卡信息(支持多网卡) unit LGetAdapterInfo; interface uses Windows, SysUtils, Classes; const MAX_HOST ...
- 关于layer.photos即照片显示的问题。
在layer组件中,照片显示是不常用,今天做了一些不伤了. 在这里写出来,以备后用. 其中注意几个问题, 1.格式问题. 2.路径问题. 不同的layer有不同的格式,查看layerAPI中发现的格式 ...
- 微软雅黑的Unicode码和英文名
中文名 英文名 Unicode编码 微软雅黑 Microsoft YaHei \5FAE\8F6F\96C5\9ED1 宋 体 SimSun \5B8B\4F53 黑 体 SimHei \9ED1\4 ...
- iOS - 获取状态栏和导航栏尺寸(宽度和高度)
iPhone开发当中,有时需要获取状态栏和导航栏高度.宽度信息,方便布局其他控件.下面介绍一下如何获取这些信息: // 状态栏(statusbar) CGRect rectStatus = [[UIA ...
- 混合欧拉回路的判断(Dinic)
POJ1637 Sightseeing tour Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 7483 Accepte ...
- Android 小例子服务端
这是之前发布的Android项目的服务端源码,只是简单的根据请求返回了一些测试数据,没有实现对数据库的操作,可以根据需求自己实现. 这是mvc4 WebAPI项目,需要用vs2012打开. 如果是用的 ...