Polymer 如何设置元素';聚合物的高度是多少?

Polymer 如何设置元素';聚合物的高度是多少?,polymer,polymer-1.0,Polymer,Polymer 1.0,我已经创建了一个聚合行为,该行为应该采用选定元素的宽度,并在“就绪”和调整窗口大小时将其高度设置为该宽度。我已经完成了“获取宽度”部分,但设置高度不起作用。代码如下: <link rel="import" href="../bower_components/polymer/polymer.html"> <script> SquareBehavior = { properties: { victim: Object }, listen

我已经创建了一个聚合行为,该行为应该采用选定元素的宽度,并在“就绪”和调整窗口大小时将其高度设置为该宽度。我已经完成了“获取宽度”部分,但设置高度不起作用。代码如下:

<link rel="import" href="../bower_components/polymer/polymer.html">
<script>
  SquareBehavior = {
    properties: {
      victim: Object
    },
    listeners: {
      'resize': 'squareIt' // not working
    },
    squareIt: function() {
      this.victim = this.$$('.round');
      console.log(this.victim.offsetWidth); // this works fine
      // what do I add here?
    },
    ready: function() {
      this.squareIt(); //works
    }
  };
</script>

平方行为={
特性:{
受害者:物体
},
听众:{
'resize':'squareIt'//不工作
},
squareIt:function(){
this.被害人=this.$$('.round');
console.log(this.牺牲品.offsetWidth);//这很好用
//我在这里加什么?
},
就绪:函数(){
this.squareIt();//有效
}
};

您可能必须声明style属性并将reflect to属性设置为true

<link rel="import" href="../bower_components/polymer/polymer.html">
<script>
  SquareBehavior = {
    properties: {
      victim: Object
      style: {
        type: String,
        reflectToAttribute: true
      }
    },
    listeners: {
      'resize': 'squareIt' // not working
    },
    squareIt: function() {
      this.victim = this.$$('.round');
      console.log(this.victim.offsetWidth); // this works fine
      // what do I add here?
      this.style = "{height: " + this.victim.offsetWidth + " }"
    },
    ready: function() {
      this.squareIt(); //works
    }
  };
</script>

平方行为={
特性:{
受害者:物体
风格:{
类型:字符串,
reflectToAttribute:真
}
},
听众:{
'resize':'squareIt'//不工作
},
squareIt:function(){
this.被害人=this.$$('.round');
console.log(this.牺牲品.offsetWidth);//这很好用
//我在这里加什么?
this.style=“{height:+this.venture.offsetWidth+”}”
},
就绪:函数(){
this.squareIt();//有效
}
};

您可能必须声明style属性并将reflect to属性设置为true

<link rel="import" href="../bower_components/polymer/polymer.html">
<script>
  SquareBehavior = {
    properties: {
      victim: Object
      style: {
        type: String,
        reflectToAttribute: true
      }
    },
    listeners: {
      'resize': 'squareIt' // not working
    },
    squareIt: function() {
      this.victim = this.$$('.round');
      console.log(this.victim.offsetWidth); // this works fine
      // what do I add here?
      this.style = "{height: " + this.victim.offsetWidth + " }"
    },
    ready: function() {
      this.squareIt(); //works
    }
  };
</script>

平方行为={
特性:{
受害者:物体
风格:{
类型:字符串,
reflectToAttribute:真
}
},
听众:{
'resize':'squareIt'//不工作
},
squareIt:function(){
this.被害人=this.$$('.round');
console.log(this.牺牲品.offsetWidth);//这很好用
//我在这里加什么?
this.style=“{height:+this.venture.offsetWidth+”}”
},
就绪:函数(){
this.squareIt();//有效
}
};

您可以使用熨斗可调整大小的行为


/*...*/
/*...*/
聚合物({
/*...*/
听众:{
“熨斗调整大小”:“\u resizeHandler”
},

您可以使用熨斗可调整大小的行为


/*...*/
/*...*/
聚合物({
/*...*/
听众:{
“熨斗调整大小”:“\u resizeHandler”
},

您不能键入:
this.victor.style.height=this.victor.offsetWidth
?不确定这是否是“聚合”方式,但您可以像这样添加事件侦听器:
window.addEventListener(“resize”,function(){squarit();});
不,请先尝试一下。就侦听器而言,我宁愿使用“聚合”方式。另外,它也不起作用。我不明白被接受的答案是如何解决你的问题的。它没有谈到调整高度。我以为那是你的问题。@Srik,它有。他告诉我使用可调整大小的铁行为。我做了,它很好。你能不能键入:
this.victor.style.height=this.victor.offsetWidth
?不正确e如果是“聚合”方式,但您可以像这样添加事件侦听器:
window.addEventListener(“resize”,function(){squareIt();});
不,先尝试一下。就侦听器而言,我宁愿使用“聚合”方式。另外,它也不起作用。我不明白被接受的答案是如何解决你的问题的。它不涉及调整高度。我以为那是你的问题。@Srik,是的。他告诉我使用可调整大小的铁行为。我做了,效果很好。