我是SAPUI5开发的新手,并尝试在tile容器中创建一个带有标准tile的页面。我创建了一个data.json文件,其中包含以下信息:
{
"TileCollection" : [
{
"icon" : "edit",
"type" : "Monitor",
"press": "onEditClick",
"title" : "Global MasterData Characteristics Maintenance Tool"
},
{
"icon" : "activity-assigned-to-goal",
"type" : "Monitor",
"press": "onAssignClick",
"title" : "Global MasterData Characteristics Assignment Tool"
},
{
"icon" : "map",
"type" : "Monitor",
"press": "onMappingClick",
"title" : "Global MasterData Characteristics Mapping Tool"
}
]
}
在我的xml视图中我然后使用下面的代码,当我将以下动态条目从{press}替换为例如onEditClick然后事件有效,但是当我点击磁贴时,动态内容没有任何反应。我希望任何人都可以帮助朝着正确的方向前进?
<TileContainer id="container" tileDelete="handleTileDelete" tiles="{/TileCollection}">
<StandardTile
icon = "sap-icon://{icon}"
type = "Monitor"
press = "{press}"
title = "{title}" />
</TileContainer>
为了确保,图标和标题在运行时正确加载,因此加载和使用JSON文件,似乎只应用了press属性。
亲切的问候, Nico van der Linden
答案 0 :(得分:0)
嗨Nico van der Linden,
你需要更改新闻事件的绑定。
代码应该是这样的:
dTable.ajax.url('newurl.php').load();
希望这有帮助。
答案 1 :(得分:0)
我终于解决了它:-)确实你似乎无法绑定新闻事件本身。所以我现在所做的是在json文件中创建一个参数id-tile,它具有作为应用程序一部分的视图的值。所以JSON文件看起来像:
while ( $row = mysqli_fetch_assoc( $result ) ) {
$row["item"] = utf8_encode( $row["item"] );// added this line
$notes[] = $row;
}
然后在视图中我使用标准图块如下:
{
"TileCollection" : [
{
"id-tile": "maintenance",
"icon" : "edit",
"type" : "Monitor",
"info" : "Central",
"title" : "Global MDM"
},
{
"id-tile": "assignment",
"icon" : "activity-assigned-to-goal",
"type" : "Monitor",
"info" : "Local",
"title" : "Product and Customer Mapping "
}
}
因此,这意味着页面上的每个磁贴都会在控制器文件中启动相同的事件。所以最后在控制器中我使用bindingContext中的“id-tile”来查看单击了哪个tile,然后将参数的值分配给“navTo”命令来进行实际路由。
> <StandardTile
> icon="sap-icon://{tiles>icon}"
> type="{tiles>type}"
> number="{tiles>number}"
> numberUnit="{tiles>numberUnit}"
> press="handleTilepress"
> title="{tiles>title}"
> info="{tiles>info}"
> infoState="{tiles>infoState}" />
谢谢大家的回复!我是SAPUI5开发的新手,我不知道这是否是最好的方法,但它似乎对我来说很好:-)
此致 尼科