如何在DukeScript中的String列表中查找变量

时间:2015-11-14 18:12:11

标签: java dukescript

我创建了一个搜索词示例,但是当正确地点击按钮时,似乎没有进行字符串搜索。

HTML:

<h1>Java Dictionary</h1>
<hr>
<h2 data-bind="text: searchPhrase"></h2>
<button data-bind:"click: changeFP">Search</button>

<h2 data-bind="text: foundPhrase, enable:isInCatalog"></h2>

JAVA:

package dew.demo.ko4j;
import net.java.html.json.*;

@Model(className="Dictionary", properties={
  @Property(name="searchPhrase", type=String.class),
  @Property(name="foundPhrase", type=String.class)
})

class Demo {

  @ComputedProperty static boolean isInCatalog(String searchPhrase) {
    if(searchPhrase.equalsIgnoreCase("Hello World!")){
      return true;
    }
     return false;
  }  

  @Function static void changeFP(Dictionary model){
    if( model.isIsInCatalog( ) ){
        model.setFoundPhrase("found");
    }
  }

  static {
    Dictionary model=new Dictionary("Hello World!","please click to search");
    model.applyBindings();
  }
}

PS:请使用DEW尝试该示例,因为它是我测试的地方。

编辑:理想情景

  1. 窗口显示&#34; Hello World!&#34;和&#34;请小心搜索&#34;消息。
  2. 用户点击按钮按钮
  3. &#34;请小心搜索&#34;消息更改为&#34;找到&#34;

1 个答案:

答案 0 :(得分:0)

DEW应该在HTML代码中向您显示一个语法错误,方法是用红色突出显示它。按钮上的data-bind属性不是有效的html。你使用冒号“:”而不是等于“=”。因此,您的行动永远不会被召唤。

使用NetBeans时,更容易发现,因为NB还会向您提供解释错误的错误消息。

这是updated example