我有一个像这样的自定义输入助手
{{input value=document.description}}
我想要一种绑定另一个属性的方法,如readonly或disabled。问题是我只想在“完成”状态下显示readonly。否则我甚至无法显示readonly / disabled这个词。
我已尝试在readonly上执行bind-attr但它总是在html中显示该属性(因此我的输入在我有机会编辑之前被禁用)
{{input value=document.description readonly=document.readonly}}
是否可以在输入助手中执行类似这样的操作?
{{input value=document.description readonly="controller.disabledInput:readonly"}}
答案 0 :(得分:1)
虽然这不是我希望的bind-attr解决方案,但这是我最终的结果
{{#if foo.complete}}
{{foo.description}}
{{else}}
{{input class="editable" value=foo.description}}
{{/if}}
答案 1 :(得分:0)
在黑暗中拍摄,如果你这样做,它会起作用吗?
Ember.TextField.reopen({
attributeBindings: ['readonly']
});
然后使用您原来的绑定方法。有一点我不确定,这可能会覆盖已经指定的attributeBindings here
答案 2 :(得分:0)
我知道这个问题已经过时了,但我遇到了类似的问题,并且遇到了这个问题。
你真的很接近你原来的方法,它只需要两个改变。首先,删除readonly
属性周围的引号。然后,某些属性(如readonly
和disabled
)需要true / false值 - 而不是像“readonly”和“disabled”这样的字符串。所以,这是工作代码:
{{input value=document.description readonly=document.readonly}}