我正在尝试使用GXT 3.0的XTemplates(类似于EXT),这里有2个简单的java对象,它们具有以下关系:
class A {
String name;
public String getName() {
return name;
}
}
class B {
String name;
public String getValue(A a) {
return a.getName();
}
}
我想为以下模板应用带有2个参数的XTemplate(List<< A>> aList,List<<>> bList):
<tpl for="aList">
<tpl for="bList">
////// Questions? How to call function B.getValue(A) ???
///// this does not work for me: {this.getValue(parent)}
</tpl>
</tpl>
有没有人熟悉这种要求? 感谢。
答案 0 :(得分:2)
有一个特殊的命名对象可以帮助您处理这个名为parent
的对象 - 这会访问外部范围。
<tpl for="aList">
<tpl for="bList">
Name of inner item, i.e. b.getName() is {name} <br />
Name of outer item, i.e. a.getName() is {parent.name}
</tpl>
</tpl>
如果有第三个循环,您可以将调用链接到父级以进一步 - parent.parent.name
。
如果A有一个getPhone()
方法,但B没有,那么parent
是可选的,因为显然你不能指代不存在的{{ 1}}。
同样的原则在this example中使用,其中每个孩子都打印了他们的详细信息以及父母的详细信息。请查看b.getPhone()
文件的来源,了解在这种情况下如何使用template.html
。