Примечание: этот вопрос касается старой версии полимера. Инженеры Google стремятся сделать быстрые обновления обновлений для полимерной упаковки в сочетании с тем фактом, что в то время, когда они не подвергались собакам, это означает, что проблема устарела.Обновление «бумажного элемента» внутри «paper-listbox» путем «dom-repeat» и сбой передачи данных
Исходные данные, связывающие переменную journal_tags с готовой функцией, работают, и я получаю три варианта: «Встреча», «Платеж» и «Общий_массе». Проблема возникает, когда я пытаюсь ввести новую опцию, изменив переменную new_tag. «new_tag» изменяется привязкой данных в другом полимерном элементе.
Когда функция наблюдателя add_new_tag ', который отслеживает изменения в «» new_tag вызывается эти консольные журналы:
0meeting
1payment
2general_message
3tada
Поэтому «журнал-метка» изменяется. Но проблема в том, что опции «paper-item» в «paper-listbox» остаются прежними «встречами», «платежами», «general_message», хотя я ожидал изменений в «тегах журнала», чтобы добавить ' тада ".
Это код:
<dom-module id="journal-entry">
<template>
<paper-dropdown-menu label="Choose tag">
<paper-listbox class="dropdown-content">
<template is="dom-repeat" items="{{journal_tags}}">
<paper-item>
{{item.tag}}
</paper-item>
</template>
</paper-listbox>
</paper-dropdown-menu>
<paper-textarea label="journal_entry_text_area">
</paper-textarea>
</template>
<script>
(function() {
'use strict';
Polymer({
is: 'journal-entry',
properties:{
new_tag:{
type:String,
notify:true,
observer:'add_new_tag'
},
journal_tags:{
type:Object,
notify:true
}
},
ready : function(){
this.journal_tags=[
{tag:'meeting'},
{tag:'payment'},
{tag:'general_message'}
];
},
add_new_tag : function(){
this.journal_tags.push({tag:this.new_tag});
for(var i=0;i<this.journal_tags.length;i++){
console.log(i + this.journal_tags[i].tag);
}
//this.journal_tags.sort();
}
});
})();
</script>
</dom-module>