У меня проблемы со скрытой функциональностью. Я передаю значения с одной страницы на другую, я могу получить значение привязки, но не могу применить значение привязки к скрытому свойству.
//..........First page........
// On-tap() while clicking the button this method will execute.Passing the dependent type ,cshoweditview and pshoweditview values to the next page through the reference object.
onAdd() {
if (this.selection == "Partner") {
var reference = {
'type': this.selection,
'cshowEditView': false,
'pshowEditView': true
};
console.info(reference);
this.reference = reference;
console.info("78" + this.reference);
this.set('view', 'edit-view');
} else if (this.selection == "Children") {
var reference = {
'type': this.selection,
'cshowEditView': true,
'pshowEditView': false,
};
console.info(reference);
this.reference = reference;
console.info("89" + this.reference);
this.set('view', 'edit-view');
}
}
<!-- ............First page................... -->
<paper-dropdown-menu label = "DEPENDENT TYPE" id = "crsp-security" class = "menu" error-message = "Security Clerance is required!">
<paper-listbox slot = "dropdown-content" id = "atype" selected = "{{selection}}" class = "dropdown-content menu" required fallback-selection = "0" attr-for-selected = "value">
<paper-item value = "Partner">Partner</paper-item>
<paper-item value = "Children">Children</paper-item>
<paper-item value = "Nominee">Nominee</paper-item>
</paper-listbox>
</paper-dropdown-menu>
<paper-button id = "add-icon" on-tap = "onAdd" raised class = "blue">
<span>Add Dependent</span>
</paper-button>
<dependent-info id = "detailView" name = "edit-view" view = "{{view}}" state = "[[reference]]" list = "{{references}}"></dependent-info>
<!-- ......Second page............ // I am trying to bind the values to this hidden property. -->
<paper-dropdown-menu label = "CHILD" id = "cshowEditView" name = "cshowEditView" class = "menu" value = "{{state.cshowEditView}}" hidden$=[[!state.cshowEditView]] error-message = "Company Type is required!">
<paper-listbox slot = "dropdown-content" id = "title" class = "dropdown-content menu" required attr-for-selected = "value">
<paper-item value = "Mr">Mr</paper-item>
<paper-item value = "Mrs">Mrs</paper-item>
<paper-item value = "Miss">Miss</paper-item>
</paper-listbox>
</paper-dropdown-menu>
<paper-dropdown-menu label = "PARTNER" id = "pshowEditView" name = "pshowEditView" hidden$=[[!state.pshowEditView]] class = "menu" error-message = "Company Type is required!">
<paper-listbox slot = "dropdown-content" id = "title" class = "dropdown-content menu" required fallback-selection = "1" attr-for-selected = "value">
<paper-item value = "Mr">Mr</paper-item>
<paper-item value = "Mrs">Mrs</paper-item>
</paper-listbox>
</paper-dropdown-menu>
Две отдельные страницы .js
Вы определили state: { type: Object }
при сбросе свойств второй страницы?
дааа, я определил то же самое (состояние: {type: Object}
Попробуйте использовать метод this.set
для наблюдаемых изменений объекта. Сначала установите значения объекта в родительской функции готовности, например:
ready() {
super.ready()
this.set('reference', { 'type' : 'Partner',
'cshowEditView' :true,
'pshowEditView' : false }
}
Затем установите свойство reference
примерно так:
onAdd () {
this.set('reference.type', this.selection)
this.set('reference.cshowEditView', this.selection= = "Partner" ? true:false)
this.set('reference.pshowEditView', this.selection= = "Partner" ? false:true)
}
приведенный выше код не работает (я имею в виду скрытые функции)
Можете ли вы добавить наблюдателя, чтобы проверить, изменилось ли свойство state
или нет, лучше добавить наблюдателя в дочернем элементе, например: static get observers() { return [
checkState (state. *)]} `И его функции` checkState (st) {console.info ( st)} `
Также добавьте цитаты к hidden$ = "[[!state.cshowEditView]]"
Свойство состояния передается дочернему элементу без проблем. Я попытался проиллюстрировать это по демо ссылке выше. Единственная проблема с вашим резервным выбором, который вы указали как attr-for-selected = "value", so the value should be one of value something like:
fallback-selection = "Partner" `
Как ваши страницы все страницы определены в одном файле или в отдельных файлах (схема каталога?)