将 Ember 复选框绑定到 属性 的相反值

Bind an Ember checkbox to the opposite value of a property

我有一个型号 foo 和 属性 bar。当我呈现 ember 复选框时,我想将 checked 属性 绑定到 foo.bar 以便选中该框时 foo.barfalse未选中时,foo.bartrue

正在做:

{{input
  type='checkbox'
  checked=foo.bar}}

让我得到与我想要的相反的结果,而

{{input
  type='checkbox'
  checked=(not foo.bar)}}

不会将 foo.bar 的值绑定到 checked 属性。如何在不向 foo 添加新的 notBar 属性 的情况下解决此问题?

这样就可以了:

<input
 type='checkbox'
 onchange={{action (toggle 'bar' foo)}}
 checked={{not foo.bar}}>

使用https://github.com/DockYard/ember-composable-helpers#toggle

你可以这样做:

<input
 type='checkbox'
 onchange={{action (mut foo.bar) (not foo.bar)}}
 checked={{not foo.bar}}>

为此您不需要外部切换助手。