在 Ember hbs 中硬编码 select item/conditionals

Hardcoded select item/conditionals in Ember hbs

我没有将记录绑定到数据列表,而是有一个硬编码的按钮列表。我想要的是将条件绑定到按钮但不知道如何。当记录设置为所选项目但不使用硬编码值时,我可以,例如

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

然后是条件

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

想要做到这一点,以便在单击硬编码协议类型按钮时,如果 selectedItem 对于此条件为真,则条件

我不是 100% 确定我理解这个问题,但我认为如果我跟着你,你可以做这样的事情......(我正在使用 ember-truth-helpers eq 助手的插件):

template.hbs:

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

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

在 component.js 中,将 属性 设置为您要匹配的值:

selectedItem: '',

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

您要做的基本上是切换 selectedItem 属性 应该 return bool。 如果在模板中有 {{#if selectedItem}} 然后返回到组件上下文并设置 1.在组件中添加selectedItem属性。例如。 selectedItem: false 2.在按钮上添加一个动作:<button class='task data ManagedList' {{action "toggleSelectedItem"}}>Agreement Type</button> 3. 在动作散列下的组件端切换 属性:

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

这应该会在 true 和 false 之间切换您的 selectedItem 属性。