У меня возникла проблема с пониманием того, как Polymer 1.0 обрабатывает объявленные свойства, особенно с типом = "object". Чтобы понять это, я пытаюсь создать простой элемент для выбора типа материала и отображения сведений о нем.
Вот как выглядит мой элемент до сих пор
<dom-module id="mat-panel">
<style>
:host {
background: blue;
}
</style>
<template>
<iron-selector attr-for-selected="name" selected="{{material}}">
<div name="polyester">Polyester</div>
<div name="nylon">Nylon</div>
<div name="polypropylene">Polypropylene</div>
<div name="kevlar">Kevlar</div>
</iron-selector>
<h1>{{material}}</h1>
<ul>
<li>{{material.color}}</li>
<li>{{material.price}}</li>
</ul>
</template>
</dom-module>
<script>
(function() {
Polymer({
is: 'mat-panel',
properties: {
material: {
type: Object,
notify: true;
value:{
kevlar: {
color: 'red'
price: 1.25
},
nylon: {
color: 'black'
price: 2.50
},
polypropylene: {
color: 'green'
price: 3.15
},
polyester: {
color: 'purple'
price: 4.25
}
}
}
}
});
})();
</script>
Iron-selector должен позволять пользователю выбирать материал, а затем отображать название материала в h1, а цвет и цены — в li.
Итак, мне нужно знать две вещи:
- Правильно ли отформатирован мой материальный объект? Если нет, то как это должно выглядеть? (Я знаю, что это не из-за того, что ошибки консоли выдаются для «{» после «value:»)
- Правильно ли установлены мои привязки? Если нет, то как его настроить?