在Ember中,如何绑定名称带冒号的属性?

时间:2016-02-07 07:19:12

标签: xml ember.js svg ember-components

我想创建一个根元素为

的组件
<svg width='150px'
     height='150px'
     viewBox='0 0 150 150'
     version='1.1'
     xmlns='http://www.w3.org/2000/svg'
     xmlns:xlink='http://www.w3.org/1999/xlink'>

我可以使用简单的属性绑定设置大部分内容:

Ember.Component.extend({
  attributeBindings: [ 'height', 'version', 'viewBox', 'width', 'xmlns' ],
  tagName: 'svg',
  height: '150px',
  version: '1.1',
  viewBox: '0 0 150 150',
  width: '150px',
  'xmlns:xlink': 'http://www.w3.org/2000/svg'
});

无法使用的是xmlns:xlink。如果我尝试将其添加为属性绑定,Ember会将冒号解释为xlink属性绑定到xmlns属性的值,以便我得到

<svg width='150px'
     height='150px'
     viewBox='0 0 150 150'
     version='1.1'
     xmlns='http://www.w3.org/2000/svg'
     xlink='http://www.w3.org/2000/svg'>

如何为此属性设置属性绑定?

1 个答案:

答案 0 :(得分:2)

您可以按以下方式使用

attributeBindings: ['xlink:xmlns:xlink'],
xlink: 'http://www.w3.org/1999/xlink'

这应该会在您的组件中生成xmlns:xlink="http://www.w3.org/1999/xlink"

<强> Here is the working demo.