【发布时间】:2016-02-25 00:11:03
【问题描述】:
聚合物 v1.2.3
我遇到了 Polymer 的问题,我不确定它是否是错误。
我有这个属性,我需要在ready 回调中对其执行某些操作后将其设置为 null,但是当我通过数据绑定初始化该属性时,该属性在我设置后重新初始化它为空。
举个例子:
proxy-elm.html
<dom-module id="proxy-elm">
<template>
<x-foo it="[[prox]]"></x-foo>
</template>
<script>
Polymer({
is: 'proxy-elm',
properties: {
prox: String
}
});
</script>
</dom-module>
x-foo.html
<dom-module id="x-foo">
<template>
<div>...</div>
</template>
<script>
Polymer({
is: 'x-foo',
properties: {
it: String
},
ready: function () {
//some processing stuff
console.log(this.it);
this.it = '';
setTimeout(function () {
console.log("later -- " + this.it);
}.bind(this), 3000);
}
});
</script>
</dom-module>
Main.html
<proxy-elm prox="hi"></proxy-elm>
控制台
=>hi
=>
=>later -- hi
只有在代理元素使用数据绑定时才会出现此问题。如果我将代理元素 it 设置为立即数,则控制台如下所示:
=>hi
=>
=> later --
这是期望的行为。
这是怎么回事?我要疯了!
【问题讨论】:
标签: javascript html data-binding polymer web-component