我的這個例子http://jsfiddle.net/fyf6thte/8/用JavaScript可以正常使用這個陰影元/根,有興趣的也有類似的一個與DART,所以我寫了下面的代碼(使用同樣的HTML和CSS文件),但我無法看到它的外觀shadow.innerHTML = '<button id="d">click</button>'
按鈕不工作自定義元素/暗影根在DART郎VS影子根在JavaScript
完整的代碼是:
import 'dart:html';
void main() {
var thehost = document.querySelector('#host1');
document.registerElement(fonixDiv.tag, fonixDiv);
thehost.append(new fonixDiv());
}
class fonixDiv extends HtmlElement {
static final tag = 'fonix-div';
var shadow;
bool disabled;
factory fonixDiv() => new Element.tag(tag);
fonixDiv.created() : super.created() {
shadow = this.createShadowRoot();
shadow.host.innerHTML = '<button id="d">click</button>';
shadow.host.onClick.listen((e){
this.host.dataset.disabled='true'; // set Attribute to the custom element
});
shadow.children.d.onClick.listen((e){
this.text = "you clicked me :(";
// or shadow.children[0].textContent="Shadow DOM content changed";
this.disabled=true;
// alert("All: button, text and host should be change");
});
}
@override
void attached() {
super.attached();
this.disabled=disabled;
}
}
我不知道有關的準確性代碼的平衡,我只能在看到按鈕後才能檢查它。
任何幫助。
感謝您的解釋,併爲dartpad:https://dartpad.dartlang.org/2bf5c077f02af8790d40 – 2015-08-03 05:28:12