博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
3.5 Templates -- Binding Element Attributes(绑定元素属性)
阅读量:7069 次
发布时间:2019-06-28

本文共 1094 字,大约阅读时间需要 3 分钟。

一、概述

除了正常的文本,你可能还需要你的模板中包含的HTML元素的属性绑定到controller

1. 例如,设想controller有一个属性包含一个图片的URL:

生成的HTML:

2. 如果你绑定的是一个布尔值,它将会添加或者移除一个特定的属性。例如:

如果isAdministratortrue,Handlebars将会生成如下HTML元素:

如果是false

二、 添加data属性

1. 默认的,view helpers不接受data属性。例如:

{
{#link-to "photos" data-toggle="dropdown"}}Photos{
{/link-to}}{
{input type="text" data-toggle="tooltip" data-placement="bottom" title="Name"}}

渲染为HTML:

2. 有两种办法可以让它支持data属性。

  • 一种是添加一个属性绑定到view,例如Ember.LinkComponent或者Ember.TextFielw对特定的属性来说:
  • export default Ember.LinkComponent.reopen({  attributeBindings: ['data-toggle']});export default Ember.TextField.reopen({  attributeBindings: ['data-toggle', 'data-placement']});

    HTML:

  • 你也可以在base view中自动绑定data属性:
  • export default Ember.View.reopen({  init() {    this._super();    var self = this;    // bind attributes beginning with 'data-'    Ember.keys(this).forEach(function(key) {      if (key.substr(0, 5) === 'data-') {        self.get('attributeBindings').pushObject(key);      }    });  }});

转载于:https://www.cnblogs.com/sunshineground/p/5152885.html

你可能感兴趣的文章
mac 安装secureCRT
查看>>
服务器错误代码表示含义
查看>>
《React-Native系列》3、RN与native交互之Callback、Promise
查看>>
jQuery EasyUI
查看>>
[经验转帖]在豆瓣上直接下载你喜欢的书
查看>>
raw_input功能
查看>>
Setup best practices for Agile Scrum in your organization
查看>>
选择排序的一种递归写法
查看>>
Python3 day6面向对象
查看>>
查看Oracle耗时Sql
查看>>
CentOS 添加环境变量
查看>>
Linux目录详细说明大全(推荐)
查看>>
1.text-align标签的用法
查看>>
Distinct 实现自定义去重
查看>>
CodeSnippet.info整体技术构架
查看>>
[CodeWars][JS]实现链式加法
查看>>
第六天实验详解——dedecms通过xss漏洞写马
查看>>
EasyUI学习总结(一)——EasyUI入门
查看>>
类型、存储和变量
查看>>
[设计模式之禅读书笔记]004_设计模式六大原则(四):接口隔离原则
查看>>