从无容器自定义元素中获取类列表 - Aurelia

时间:2016-10-31 17:38:43

标签: javascript dom svg aurelia aurelia-binding

我有一个自定义元素,它将SVG注入视图内联(gist:https://gist.run/?id=3a20dc24ca5c32c4b29fe6990dd30156)。
我需要做的一件事是,当我使用自定义元素时,我在自定义元素上编写的任何类都会转移到内联svg。当类使用绑定时我有这个工作,但是如果我只使用常规文本则不行 例如,我想要这个(style = 'worked'):

<inline-svg svg="leaf" class="${style}"></inline-svg>

要变成这个(它没有嵌套在inline-svg元素内,因此无容器):

<svg class="worked" version="1.1" id="Layer_3" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 48 44.8" style="enable-background:new 0 0 48 44.8;" xml:space="preserve">


这很好。但是当我想为类使用常规文本值时,我无法在元素上找到该类属性,因为视图模型中的元素只是锚标记的注释。
例如,我想要这个:

<inline-svg svg="leaf" class="worked"></inline-svg>

也成为这个:

<svg class="worked" version="1.1" id="Layer_3" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 48 44.8" style="enable-background:new 0 0 48 44.8;" xml:space="preserve">

  

使用无容器自定义元素时,如何从原始元素中获取class属性?

1 个答案:

答案 0 :(得分:0)

只需要在合适的时间调用正确的功能 我不需要调用this.el.class,而是调用this.el.getAttribute('class'),它会对原始元素执行某种反向获取属性而不是注释。
只是其中一个头到键的时刻......