Закодированный выберите элемент / условия в Ember hbs - PullRequest
0 голосов
/ 06 марта 2019

Вместо привязки записей к списку данных у меня есть жестко закодированный список кнопок.То, что я хочу, - это связать условное обозначение с кнопками, но не знаю как.Я могу, когда запись установлена ​​для выбранного элемента, но не с жестко закодированными значениями, например

<button class='task data ManagedList'>Agreement Type</button>

и затем условным

{{#if selectedItem}}{{editor/administration/edit-managed-list store=store}}

хочу сделать так, чтобы при жестком кодировании кнопки Тип соглашения нажималось условие, если selectedItem имеет значение true для этого условия

Ответы [ 2 ]

0 голосов
/ 06 марта 2019

Что вы хотите сделать, так это переключить свойство selectedItem, которое должно возвращать bool.Если в шаблоне у вас есть {{#if selectedItem}}, вернитесь в контекст компонента и установите 1. Добавьте свойство selectedItem в компонент.Например, selectedItem: false 2. Добавьте действие на кнопку: <button class='task data ManagedList' {{action "toggleSelectedItem"}}>Agreement Type</button> 3. На стороне компонента под хешем действий переключите свойство:

actions: {
    toggleSelectedItem() {
      this.toggleProperty('selectedItem');
    }
  }

Это должно переключить свойство selectedItem между значениями true и false.

0 голосов
/ 06 марта 2019

Я не уверен на 100%, что понимаю вопрос, но думаю, что если я пойду за тобой, ты сможешь сделать что-то вроде этого ... (Я использую дополнение ember-true-helpers для eq helper ):

template.hbs:

<button {{action "selectItem" "foo"}}></button>

{{#if (eq selectedItem "foo") }}
  conditional content
{{/if}}

в component.js, установите для свойства значение, с которым вы хотите сопоставить:

selectedItem: '',

actions: {
  selectItem(val) {
    this.set('selectedItem', val);
  }  
}
...