Как найти переменную в списке строк в 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>
ДЖАВА:
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, чтобы попробовать пример, потому что именно там я тестировал.
РЕДАКТИРОВАТЬ: Идеальный сценарий
- в окне отображается "Hello World!" и "пожалуйста, нажмите для поиска" сообщений.
- пользователь нажимает кнопку
- "пожалуйста, нажмите для поиска" сообщение изменяется на "найдено"
1 ответ
Решение
DEW должна была показать вам одну синтаксическую ошибку в вашем HTML-коде, выделив ее красным цветом. Атрибут привязки данных на кнопке не является допустимым HTML. Вы используете двоеточие ":" вместо "=". Поэтому ваше действие никогда не называется.
При использовании NetBeans это легче обнаружить, поскольку NB также выдает сообщение об ошибке, объясняющее, что не так.
Вот обновленный пример.