Polymer 聚合物组分和模型之间的双向数据绑定?
在使用Polymer之前,我想检查一下是否可以在组件和javascript模型之间进行双向数据绑定。我阅读了网站上的数据绑定部分,但我仍然不清楚这一点 一个简单的例子:如果我有一个javascript中带有“volume”属性的“audio”模型,我可以将这个volume属性绑定到一个滑块上吗 我对JavaFx更为熟悉,下面是典型的JavaFx代码,可以实现这一点:Polymer 聚合物组分和模型之间的双向数据绑定?,polymer,Polymer,在使用Polymer之前,我想检查一下是否可以在组件和javascript模型之间进行双向数据绑定。我阅读了网站上的数据绑定部分,但我仍然不清楚这一点 一个简单的例子:如果我有一个javascript中带有“volume”属性的“audio”模型,我可以将这个volume属性绑定到一个滑块上吗 我对JavaFx更为熟悉,下面是典型的JavaFx代码,可以实现这一点:slider.valueProperty().bindBidirectional(audio.volumeProperty())。
slider.valueProperty().bindBidirectional(audio.volumeProperty())
。
一旦执行,用户在滑块上所做的任何更改都会反映到模型上,应用程序在模型上所做的任何更改也会反映到滑块上
现在在javascript中,如果我有var audio={volume:75,…}
是否可以将此模型的volume属性绑定到例如纸张滑块的值?是的,这是可能的。
这里有一个简单模型的示例:
<template is="auto-binding">
<paper-slider min="10" max="200" value="{{audio.volume}}"></paper-slider>
<h1>Current volume: {{audio.volume}}</h1>
</template>
<script>
var audio = {volume: 42, stereo: true, title: "A beautiful song"};
var template = document.querySelector('template[is="auto-binding"]');
template.audio = audio
template.status =0;
template.statusIsOn = function(value) {
if (value.status >0)
return value.count;
return 0;
};
</script>
当前卷:{{audio.volume}
var audio={音量:42,立体声:true,标题:“一首美丽的歌”};
var template=document.querySelector('template[is=“auto binding”]”);
template.audio=音频
template.status=0;
template.statusIsOn=函数(值){
如果(value.status>0)
返回值.count;
返回0;
};
您在这里有一个可用的Plunker:
如果您需要更多信息,请随时询问 很有效,谢谢。只是关于滑块的一个细节:它仅在鼠标释放时更新模型,是否可以在拖动时更新模型?不确定,我将搜索并告诉您:)