В пользовательском интерфейсе полимера3.x есть проблема со скрытыми функциями

У меня проблемы со скрытой функциональностью. Я передаю значения с одной страницы на другую, я могу получить значение привязки, но не могу применить значение привязки к скрытому свойству.

//..........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>

Как ваши страницы все страницы определены в одном файле или в отдельных файлах (схема каталога?)

HakanC 18.12.2018 14:22

Две отдельные страницы .js

mounika 18.12.2018 14:50

Вы определили state: { type: Object } при сбросе свойств второй страницы?

HakanC 18.12.2018 14:58

дааа, я определил то же самое (состояние: {type: Object}

mounika 18.12.2018 15:01
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
4
38
1

Ответы 1

Попробуйте использовать метод 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)
}

приведенный выше код не работает (я имею в виду скрытые функции)

mounika 18.12.2018 15:27

Можете ли вы добавить наблюдателя, чтобы проверить, изменилось ли свойство state или нет, лучше добавить наблюдателя в дочернем элементе, например: static get observers() { return [checkState (state. *)]} `И его функции` checkState (st) {console.info ( st)} `

HakanC 18.12.2018 15:31

Также добавьте цитаты к hidden$ = "[[!state.cshowEditView]]"

HakanC 18.12.2018 15:43

Свойство состояния передается дочернему элементу без проблем. Я попытался проиллюстрировать это по демо ссылке выше. Единственная проблема с вашим резервным выбором, который вы указали как attr-for-selected = "value", so the value should be one of value something like: fallback-selection = "Partner" `

HakanC 18.12.2018 22:06

Другие вопросы по теме