2015-11-14 18 views
1

我已經創建了一個搜索詞的例子,但它似乎沒有正確地點擊常量點擊按鈕時進行字符串搜索。如何在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. 窗口中顯示的 「Hello World!」和「請選擇搜索」消息。
  2. 用戶點擊按鈕,按鈕,「發現」
+0

請修改您的問題來描述實際出錯的地方。你觀察到了什麼行爲?你在期待什麼?有沒有錯誤信息?他們說什麼? – Kenster

+0

沒有錯誤消息,因爲它表示問題是「似乎沒有正確地對常量進行字符串搜索」。顯然,我期望執行字符串搜索 –

回答

0

DEW應該表現出你在你的HTML代碼中一個語法錯誤由紅色高亮顯示

  • 「請依序按搜索」消息的變化。按鈕上的數據綁定屬性不是有效的html。您正在使用冒號「:」而不是等號「=」。因此你的行爲永遠不會被調用。

    使用NetBeans時更容易發現,因爲NB也會給出錯誤信息來解釋錯誤。

    這是updated example

  • 相關問題