选择元素(聚合物1.0)

Tyl*_*ler 3 polymer polymer-1.0

我正在努力迁移到Polymer 1.0

这是我的模板:

<template>
    <div class="scroll">
        <div class="content">
            <content></content>
        </div>
        <div class="bar barY"></div>
    </div>
</template>
Run Code Online (Sandbox Code Playgroud)

内容在主html文件中填充文本.

我需要得到这个div的滚动高度.我曾经做过:

height = $(this.shadowRoot).find('.content')[0].scrollHeight;
Run Code Online (Sandbox Code Playgroud)

但这不再适用了:

Uncaught TypeError: Cannot read property 'scrollHeight' of undefined
Run Code Online (Sandbox Code Playgroud)

我尝试在div中添加一个id,然后选择它:

height = this.$.content.scrollHeight;
Run Code Online (Sandbox Code Playgroud)

但是这给了我一个0的值,即使内容中有很多文本.

我从ready函数中调用此代码.

我正确地选择了元素吗?

Zik*_*kes 7

<content>实际上并不包含组件的内容,而是为这些内容提供插入点,这些内容将成为<content>元素的兄弟.要获取为给定<content>节点插入的元素,可以使用以下命令:

var content = Polymer.dom(this.root).querySelector('content');
var distributed = Polymer.dom(content).getDistributedNodes()
Run Code Online (Sandbox Code Playgroud)

有关上述文档,请访问https://www.polymer-project.org/1.0/docs/devguide/local-dom.html#dom-api-examples以及更完整的示例.