如何在 Ember Js 中的 If 语句中调用一个动作

How to call a action inside If statement in Ember Js

我是 ember 的新手,下面是我的 ember 循环实体数组的 js 代码,在 if 语句中我检查两个 id 相等以禁用渲染复选框,但是这种方法不起作用,如何在 ember js,

中执行此操作
 {{#each this.model.data as |entity|}}
    
                <tr >

                {{#if entity.workflowTask.id == this.currentlyLoggedUserId }}

                  <td><input type="checkbox"  disabled="false"> </td>
                  {{else}}
                  <td><input type="checkbox"  checked={{this.allChecked}} onclick={{action 
                 (action "getSelectedMerchant" entity.id) value="target.checked" }} > </td>
                  {{/if}}
    </tr>

不确定到底是什么不起作用,但我可能会这样写:

{{#each this.model.data as |entity|}}
  <input
    type="checkbox"
    disabled={{(eq entity.workflowTask.id this.currentlyLoggedUserId)}}
    {{on "click" (fn this.getSelectedMerchant entity.id)}}
  />
{{/each}}

首先,您需要创建一个助手。哪个检查你的两个id是否相等。

import { helper } from "@ember/component/helper";

export default helper(function isEqual(params /*, hash*/) {
const [val1, val2] = params;
return val1 === val2;
});

然后你的模板你需要做的:

{{#each this.model.data as |entity|}}
  <input
    type="checkbox"
    disabled={{(is-equal entity.workflowTask.id 
    this.currentlyLoggedUserId)}} />
{{/each}}