Polymer 访问子模板元素
我试图从domReady中的脚本更改我的polymer模板元素的DOM。 在主模板中一切正常,我可以使用这个来访问元素。$.xxx。 但是如果我想访问的元素在嵌套模板中,我就不能再访问它了。 我认为使用这个$.myTemplate.content.querySelector可以工作(因为它可以在stand webcomponents应用程序中工作),但我无法让它与polymer一起工作 这不容易解释,但如果你能打开我的扑克牌,你就会明白我想做什么 谢谢你的帮助Polymer 访问子模板元素,polymer,Polymer,我试图从domReady中的脚本更改我的polymer模板元素的DOM。 在主模板中一切正常,我可以使用这个来访问元素。$.xxx。 但是如果我想访问的元素在嵌套模板中,我就不能再访问它了。 我认为使用这个$.myTemplate.content.querySelector可以工作(因为它可以在stand webcomponents应用程序中工作),但我无法让它与polymer一起工作 这不容易解释,但如果你能打开我的扑克牌,你就会明白我想做什么 谢谢你的帮助 <!DOCTYPE htm
<!DOCTYPE html>
<html>
<head>
<script data-require="polymer@0.5.1" data-semver="0.5.1" src="//cdnjs.cloudflare.com/ajax/libs/polymer/0.5.1/polymer.js"></script>
<link rel="stylesheet" href="style.css" />
<script src="script.js"></script>
</head>
<body>
<h1>Hello Plunker!</h1>
<polymer-element name="my-polymer">
<template>
<b>TEST</b>
<template id="myTemp">
<div id="myID">
AAA
</div>
</template>
</template>
<script>
Polymer({
domReady: function() {
console.log(this.$.myID);
console.log(this.$.myTemp);
console.log(this.$.myTemp.querySelector('#myID'));
console.log(this.$.myTemp.content.querySelector('#myID'));
}
});
</script>
</polymer-element>
<my-polymer></my-polymer>
</body>
</html>
你好,普朗克!
测验
AAA
聚合物({
domReady:function(){
console.log(this.$.myID);
console.log(这个.myTemp);
log(这个.$.myTemp.querySelector('#myID');
log(this.$.myTemp.content.querySelector(“#myID”);
}
});
您需要修改模板,以便它能够呈现其内容:
AAA
如果可以通过更新模板模型来解决问题,那么应该避免更改模板的DOM。
例如,绑定一些对象”,然后使用对象内部的属性来更改模板数据。非常感谢您的回答。我没有想到这一点。但是,使用bind属性,模板总是显示出来。我想做的是改变隐藏模板标记的DOM(
<template id="myTemp" bind>
<div id="myID">
AAA
</div>
</template>