1.有时候,你可能希望定义一个模板,它包裹其他模板提供的内容。

例如,假设我们创建一个blog-post模板,我们可以使用它来展现一个blog post:

app/components/blog-post.hbs

<h1>{{title}}</h1>
<div class="body">{{body}}</div>

现在,我们可以使用{{blog-post}}组件并且传递它到其他模板,作为其他模板的属性:

{{blog-post title=title body=body}}
  • 在这种情况下, 我们想要展现的内容来自model。但是如果我们希望开发人员使用组件能够提供自定义的HTML内容呢?

2. 除了你目前为止学过的simple form,组件也支持被用在block form。在block form中,组件可以被传递一个Handlebars template,它被渲染进组件的模板中{{yield}}出现的地方。

3.为了使用block form,在组件名字前面添加一个#字符,然后确保添加一个封闭的标签。(详细可以查看Handlebars文档的block expressions)

4. 在那种情况下,我们可以在block form中使用{{blog-post}}组件并且通过使用{{yield}}辅助器告诉Ember块内容应该被加载在哪。更新上面的例子,我们首先改变组件模板:

app/templates/components/blog-post.hbs

<h1>{{title}}</h1>
<div class="body">{{yield}}</div>

你可以看到我们用{{yield}}替换了{{body}}。这就告诉Ember当组件被使用时内容将被提供。

下一步,我们更新使用组件的模板去使用block form:

app/templates/index.hbs

{{#blog-post title=title}}
<p class="author">by {{author}}</p>
{{body}}
{{/blog-post}}

5. 注意模板作用与在组件block内部和外部一样。如果一个属性在组件的外部可用,在组件块内部也是可用的。

5.4 Components -- Wrapping Content in A Component(在组件中包裹内容)的更多相关文章

  1. Solr学习笔记之5、Component(组件)与Handler(处理器)学习

    Solr学习笔记之5.Component(组件)与Handler(处理器)学习 一.搜索篇 拼写检查(spellCheck) 作用:用来检查用户输入的检索内容是否存在,如果不存在则给它提示出相近或相似 ...

  2. Vue2.0 【第二季】第8节 Component 父子组件关系

    目录 Vue2.0 [第二季]第8节 Component 父子组件关系 第8节 Component 父子组件关系 一.构造器外部写局部注册组件 二.父子组件的嵌套 Vue2.0 [第二季]第8节 Co ...

  3. Vue2.0 【第二季】第6节 Component 初识组件

    目录 Vue2.0 [第二季]第6节 Component 初识组件 第6节 Component 初识组件 一.全局化注册组件 二.局部注册组件局部 三.组件和指令的区别 Vue2.0 [第二季]第6节 ...

  4. vue19 组建 Vue.extend component、组件模版、动态组件

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. 二、Vue组件(component):组件的相互引用、通过props实现父子组件互传值

    一.组件各部分说明及互相引用 1.一个vue组件由三个部分组成 Template 只能存在一个根元素 2.Script 3.Style scoped:样式只在当前组件内生效 1.1 组件的基本引用代码 ...

  6. delphi Components[i]清除所有edit控件中的内容

    (* 一般的清空combobox方法 combobox1.clear; ... combobox9.clear; *)   procedure TForm1.Button1Click(Sender: ...

  7. 022 component(组件)关联映射

    Component关联映射: 目前有两个类如下: 值对象没有标识,而实体对象具有标识,值对象属于某一个实体,使用它重复使用率提升,而且更清析. 以上关系的映射称为component(组件)关联映射 在 ...

  8. vue2中component父子组件传递数据props的使用

    子组件使用父亲传过来的数据,我们需要通过子组件的 props 选项. 组件实例的作用域是孤立的,不能在子组件的模板内直接引用父组件的数据.修改父亲传过来的props数据的时候 父亲必须传递对象,否则不 ...

  9. content is king – Bill Gates (1/3/1996) 内容为王 - 比尔盖茨

    以下中文版本由谷歌翻译 内容为王 - 比尔盖茨(1/3/1996) 内容是我期望在互联网上赚取大部分真钱的地方,就像在广播中一样. 半个世纪前开始的电视革命催生了许多行业,包括制造电视机,但长期的赢家 ...

随机推荐

  1. POJ 1038 Bug Integrated Inc(状态压缩DP)

    Description Bugs Integrated, Inc. is a major manufacturer of advanced memory chips. They are launchi ...

  2. ios开发之--iOS 11适配:iOS11导航栏返回偏移

    UIBarButtonItem 左边间隙过大,解决方案(ios11之前): 调用下面的方法,设置negativeSpacer.width = -15;就可以解决间隙过大的问题: UIBarButton ...

  3. docker学习-docker解决了什么问题

    docker标准化让快速扩张.弹性伸缩变得简答.

  4. MySQL性能优化(七·上)-- 锁机制 之 表锁

    前言 数据库的锁主要用来保证数据的一致性的.MyISAM存储引擎只支持表锁,InnoDB存储引擎既支持行锁,也支持表锁,但默认情况下是采用行锁. 一.锁分类 1.按照对数据操作的类型分:读锁,写锁 读 ...

  5. STM32总线结构和存储器

    也就说我们所操作的就是别名区的位

  6. 嵌入式系统UBOOT

    一个完整的嵌入式linux系统包含4部分内容:Bootloader.Parameters.Kernel.Root File System.3.4.5.6部分详细介绍了这4部分的内容,这是Linux底层 ...

  7. web基础---->okhttp的使用

    今天我们就讲一下okhttp的使用,具体的okhttp使用可以参见官方的文档. okhttp的使用 一.okhttp的下载安装 Download the latest JAR or grab via ...

  8. font-size对展示的影响

    实例: <head>        <style type="text/css">            span{display: inline-bloc ...

  9. 配置Python实战开发环境

    一.安装Python和easy_install 和pip 新版本的linux下面应该带有这些环境,没有自带的话可以查找google配置. 二.配置python运行的虚拟化环境: 好处:Python的库 ...

  10. Cookie的介绍及使用

    咱们不搞一开始就一大堆理论知识介绍,怕把人讲懵了...... 咱们换一个思维方式——"从现象看本质",先说说我们看到了什么,再从看到的现象中提出问题,最后深入寻找答案. 我们看到的 ...