我正在迁移到Polymer 1.0
这是我的模板:
<template>
<div class="scroll">
<div class="content">
<content></content>
</div>
<div class="bar barY"></div>
</div>
</template>
内容在主html文件中填充了文本。
我需要获得此div的滚动高度。我以前做过:
height = $(this.shadowRoot).find('.content')[0].scrollHeight;
但这不再适用了:
Uncaught TypeError: Cannot read property 'scrollHeight' of undefined
我尝试在div中添加一个id,然后选择它:
height = this.$.content.scrollHeight;
但是这给了我一个0的值,即使内容中有很多文字。
我从ready
函数调用此代码。
我是否正确选择了元素?
答案 0 :(得分:7)
<content>
实际上并不包含组件的内容,而是为这些内容提供插入点,这些内容将成为<content>
元素的兄弟。要获取为给定<content>
节点插入的元素,可以使用以下命令:
var content = Polymer.dom(this.root).querySelector('content');
var distributed = Polymer.dom(content).getDistributedNodes()
上述文档可在https://www.polymer-project.org/1.0/docs/devguide/local-dom.html#dom-api-examples找到,并附有更完整的示例。