在对一年多的similar question的回复中,我读到了一种在Dart(和聚合物 - 飞镖)中使用数据绑定禁用按钮的简单方法。
我目前的代码如下:
HTML :
...
<button id="btnPointDown" on-click="{{decrement}}" disabled="{{points == 0}}">\/</button>
...
.dart :
...
@published int points = 0;
void increment() {
points++;
}
void decrement() {
points--;
}
...
然而Dart似乎不再对残疾元素“聪明”了。
如何使用最新的Dart和Polymer来禁用使用数据绑定的按钮(或者如果编程不可能)?
答案 0 :(得分:18)
绑定到disabled属性可以这样做:
<button ... disabled?="{{ points == 0 }}">Content</button>
这个?
是Polymer引入的特殊语法,用于支持绑定到这种布尔属性。
这不起作用:
<button ... disabled="{{ points == 0 }}">Content</button>
因为它会导致
<button ... disabled="false">Content</button>
仍会禁用按钮。
对于 Polymer&gt; = 1.0 ,要使用的新语法是:
<button ... disabled$="{{value}}">Content</button>
注意:value
已经必须是一个布尔值,正如Marco指出的那样。否则,您必须创建一个返回points == 0
的函数。请参阅此处的Data Binding Documentation和Migration Guide以供参考。
此致 罗伯特
答案 1 :(得分:6)
polymer 1.0
我找到了答案here。
应该是:<button ... disabled$="{{myTestFunction()}}">Content</button>
仅供参考:我不能够使用points == 0
这样的简单语句,但我必须使用一个返回boolean
的函数。