Aurelia 自定义布尔属性未绑定

Aurelia 自定义布尔属性未绑定,aurelia,Aurelia,自定义布尔属性不像内置属性那样绑定选中。bind='1===2'将不在标记中包含选中的属性myboolatt.bind='1==2'将在标记中包含myboolatt。我做了myboolatt.bind='1==2 | boolconverter'来注销该值,结果显示false 那么我做错了什么?似乎Aurelia在绑定表达式上不一致。另一个例子是我可以这样做title=${$index,如果您使用.bind,那么您可以将它绑定到js/ts文件中的att变量,并且不应该使用任何美元符号或括号。 例

自定义布尔属性不像内置属性那样绑定<代码>选中。bind='1===2'将不在标记中包含选中的属性
myboolatt.bind='1==2'
将在标记中包含myboolatt。我做了
myboolatt.bind='1==2 | boolconverter'
来注销该值,结果显示
false


那么我做错了什么?似乎Aurelia在绑定表达式上不一致。另一个例子是我可以这样做
title=${$index,如果您使用
.bind
,那么您可以将它绑定到js/ts文件中的
att
变量,并且不应该使用任何美元符号或括号。
例如,
myboolatt.bind=${$index这不是Aurelia绑定。我最初创建了bool属性,但不需要绑定。它们只是空类。然后我需要绑定,所以添加了必要的方法。最终导致混乱的是使用
myboolatt
没有将参数发送到
valueChanged
where
myboolatt.bind
sends T或F。不是一个普通的js'er这让我有点困惑,我看到有很多方法可以处理。不管怎样,这里是属性和用法。希望它能帮助其他人

谢谢

function private_ValueChanged(self, att, value) {
   if (value === false) self.element.removeAttribute(att);
   else self.element.setAttribute(att, '');
}

export class toggleCustomAttribute {
  static inject = [Element];
  constructor(element) { this.element = element; }
  valueChanged(newValue, oldValue) { private_ValueChanged(this, 'toggle', newValue); 
}

export class radioCustomAttribute {
  static inject = [Element];
  constructor(element) { this.element = element; }
  valueChanged(newValue, oldValue) { private_ValueChanged(this, 'radio', newValue); }
}


<ff-button repeat.for="keymen of keyChangeMenu" radio.bind="$index<12" class='ff-button' click.delegate="keyChangeClick($event.target)" id.bind="$index+'_key'" >
  ${keymen[0]}<sup>${keymen[1]}</sup>
</ff-button>
函数私有值已更改(自身、附件、值){
if(value==false)self.element.removeAttribute(att);
else self.element.setAttribute(att.);
}
导出类toggleCustomAttribute{
静态注入=[元素];
构造函数(元素){this.element=element;}
valueChanged(newValue,oldValue){private_valueChanged(此“切换”,newValue);
}
导出类radioCustomAttribute{
静态注入=[元素];
构造函数(元素){this.element=element;}
valueChanged(newValue,oldValue){private_valueChanged(this'radio',newValue);}
}
${keymen[0]}${keymen[1]}