如何在聚合物元件的JS内获得聚合物元件的宽度

Phi*_*hil 7 web-component polymer

我有一个聚合物元素,在其Javascript中我试图找到它的宽度和高度,因为它在DOM内.我尝试了很多方法,但我总是回来0.

Dav*_*ven 10

......这是适合我的那个:

Polymer.IronResizableBehavior行为添加到元素中(请参阅https://elements.polymer-project.org/elements/iron-resizable-behavior).然后,iron-resize当您调整大小时,您的元素将被发送一个事件.在处理程序中,检查它是否不为0; 如果没有,你就是金色的.

未经测试的代码如下:

<dom-module id="hard-chicken">
  <template>
    Hello <span>{{name}}</span>
  </template>
</dom-module>
<script>
  Polymer({
    is: 'hard-chicken',
    behaviors: [ Polymer.IronResizableBehavior ],
    listeners: { "iron-resize": "onWidthChange" },
    onWidthChange: function() {
      var w = this.offsetWidth;
      if (w > 0)
        console.log("width is now ", w);
    }
  });
</script>
Run Code Online (Sandbox Code Playgroud)

这花路,太长找出...