我试过this solution,但似乎对我没有任何作用。我有Polymer 1.0。
只有我从解决方案中做出的改变是将observers
置于data
属性中并且使得#34;不受保护"。我从here得到了这个想法。
最初,我使用了Ricky解决方案中的确切方法,但这对我来说也不起作用。
以下是我的自定义元素的样子:
<dom-module id="radio-group-binder">
<template>
<paper-radio-group class="layout vertical" selected-item="[[selectedItem]]">
<template is="dom-repeat" items="[[data]]">
<paper-radio-button name="{{item.model}}" model$="[[item.model]]" price$="[[item.price]]"><span>[[item.model]]</span> <div class="paper-font-caption"><span>[[item.price]]</span> SEK</div></paper-radio-button>
</template>
</paper-radio-group>
<paper-item><span>[[model]]</span></paper-item>
<paper-item><span>[[price]]</span></paper-item>
</template>
<script>
(function () {
'use strict';
Polymer({
is: 'radio-group-binder',
properties: {
data: {
type: Array,
notify: true,
observers: ['selectedItemChanged(selectedItem)']
},
price: {
type: String,
notify: true
},
model: {
type: String,
notify: true
}
},
selectedItemChanged: function (el) {
this.price = el.getAttribute('price');
this.model = el.getAttribute('model');
},
});
})();
</script>
</dom-module>
&#13;
如果我理解正确,那么每个[[model]]
下的[[price]]
和paper-item
等变量应该被选定的值替换。
我在selectedItemChanged
函数中尝试了一个警告来检查它是否至少被调用但我没有。
同样,在this帖子中,我注意到Polymer version 1.0.2
已被提及,此处已经介绍了此修复程序。这是我面临的问题吗?如果是这样,我该如何升级到这个版本?如果不是这样,请告诉我我在做什么错。