如何在Dart中使用数据绑定禁用按钮?

时间:2014-05-23 02:07:50

标签: dart polymer dart-polymer

在对一年多的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来禁用使用数据绑定的按钮(或者如果编程不可能)?

2 个答案:

答案 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 DocumentationMigration Guide以供参考。

此致 罗伯特

答案 1 :(得分:6)

polymer 1.0我找到了答案here

应该是:<button ... disabled$="{{myTestFunction()}}">Content</button>

仅供参考:我能够使用points == 0这样的简单语句,但我必须使用一个返回boolean的函数。