当您点击标签时我有一个项目,中间部分的信息将通过调用一个函数来改变,该函数会更改在该特定部分中显示为HTML的模型的当前值。
如果生成的HTML包含更多标签,那么如何绑定它们以使它们像其他标签一样调用相同的功能?
现在当您单击中间的标记时,该方法不会被调用而且没有任何更改,但是当您单击上部的标记时,部分中间部分将被重新渲染。
我已尝试另一次调用applyBindings
,但这会使上面的代码重复。
这是我要调用的函数的代码:
@Function
static void changeFP(final Dictionary model) {
String searchP = model.getSearchPhrase();
final List<String> listOfTerms = model.getTermList();
for (int i = 0; i < listOfTerms.size(); i++) {
final String term = listOfTerms.get(i);
if (stringsAreEqual(term, searchP)) {
model.setFoundPhrase(term);
model.setDescription(model.getDefinitionList().get(i));
model.setCode(model.getExampleCodeList().get(i));
return;
}
}
model.setDescription("");
model.setCode("");
model.setFoundPhrase(
ResourceBundle.getBundle(
"web/aprendiendola/dictionaryweb/aprendiendola/dictionary/DiccionarioDeJava/TranslateMe"
// , Locale.getDefault()
// ,new Locale("ES")
).getString("NOTFOUND"));
}
它应呈现的部分是:
<div class="card-panel blue lighten-2">
<h3 data-bind="text: foundPhrase"></h3>
<p class="white-text" data-bind="html:description" style="min-height: 100px;"></p>
</div>
应呈现的文字是:
CLASS_INFO= <p>Represent types of objects, but can also refer to other non-object conceps as <a class="chip blue lighten-3 white-text" href="#" data-bind="click:$root.changeSP ">Package-Info</a></p>
(CLASS_INFO=
是因为应用程序正在国际化)
答案 0 :(得分:0)
如果你想为你的html的特定部分应用绑定,而不是myModel.applyBindings()你可以这样做:
Models.applyBindings(myModel, "id_of_tag");
这允许您将页面的不同部分绑定到不同的模型。让我知道,如果这解决了你的问题。如果不是,我将不得不查看整个项目以了解如何解决它。