我将Polymer属性定义为:
properties: {
delay: {
type: Timeranges,
value: '5000'
}
}
我使用这个属性作为这样的超时:
setTimeout(function() {
request = ajax(request, custParams, inputValue.trim(), input, result, component.subType, component.queryParams);
}, "{{delay}}");
但这不起作用。如果我将一个文字数字指定为函数参数而不是"{{delay}}"
,它可以正常工作。如何在此处绑定delay
?
答案 0 :(得分:1)
属性类型应为Timeranges
(不是setTimeout()
)。
Polymer的data binding syntax只能在HTML(而不是JavaScript)中使用。您当前的代码将文字字符串传递给delay
,而不是setTimeout()
的数字值。
假设从Polymer对象定义中调用了this.delay
,您可以像这样使用Polymer({
properties: {
delay: {
type: Number,
value: 5000
}
},
foo: function() {
setTimeout(function() {...}, this.delay);
}
});
:
setTimeout()
如果您需要在delay
更改时调用Polymer({
properties: {
delay: {
type: Number,
value: 5000,
observer: '_delayChanged'
}
},
_delayChanged: function(newDelay) {
setTimeout(function() {...}, newDelay);
}
// ...
});
,则可以使用observer,如下所示:
JavaPairRDD