【发布时间】:2013-11-27 10:25:39
【问题描述】:
我有一个自定义元素,它本身承载一个自定义元素。
<polymer-element name="flex-nonvisual">
<template>
<polymer-flex-layout></polymer-flex-layout>
</template>
</polymer-element>
现在在PolymerFlexLayout 的attached()(或其他一些回调)中,我想设置flex-nonvisual 元素的类属性。
在 Javascript 中,代码看起来像 this.parentNode.host.classList.add('someclass');
在attached() 中的 Dart 中(在调用 super.attached() 之后)this.parent 为空
而且我找不到对宿主元素的任何其他引用。
我如何在 Dart 中做到这一点?
【问题讨论】:
-
一个小评论:我会考虑这种不好的做法,因为它破坏了聚合物柔性布局组件的封装。一般来说,子组件不应该在父组件上设置属性或调用方法。孩子应该调度一个父母可以监听的事件并决定改变自己的属性。
-
你说得对,我没有考虑其他方法。我目前正在从 Javascript 移植聚合物元素,并尝试在 Dart 中做同样的事情,就像他们在 JS 中所做的一样。非常感谢您在盲道中提供的帮助;-)。
标签: custom-controls dart polymer dart-polymer shadow-dom