我想在按ListItem时将参数从母版页传递到详细信息页
handleListItemPress : function (evt ) {
imp = evt.getSource().getTitle();
alert(imp);
// var mystring = 'this,is,an,example';
var splits = imp.split(",");
dino = splits[0]; //I want to send three parameters
revno = splits[1];
uruntipi = splits[2];
var context = evt.getSource().getBindingContext();
this.nav.to("Detail", context);
},
Run Code Online (Sandbox Code Playgroud)
我想获取参数详细信息页面onInit
功能。
我想在两个控制器之间传递数据(除了路由参数之外),并且我想知道执行此操作的正确方法。
例如:当我导航到模式时/order/{id}
,我在视图控制器中执行以下操作:
this.getRouter().navTo("order", {
id: sOrderId
});
Run Code Online (Sandbox Code Playgroud)
我想传递额外的 JSON 对象,我不想让它成为路由参数的一部分。
这种情况我该怎么办?
--edit
想添加我想通过此实现的目标
我想要将数据从主控传递到详细信息。主页面和详细信息页面都分配了单独的路由模式。因此用户可以直接登陆大纲或详细信息。当他们登陆主控时 - 用户可以选择一堆详细信息项目,然后导航到第一个详细信息项目,然后从那里导航到他/她之前在主控上选择的其他项目。所以我要传递的是从主控制器到细节控制器的选择。
我想更新一个用 OData svc 填充的表。我正在使用这种方法:
oModel.update("/Products(999)", oData, {
success: mySuccessHandler,
error: myErrorHandler
});
Run Code Online (Sandbox Code Playgroud)
我在变量中有选定的索引,我需要传递该变量。问题是Products(999)
- 这是使用硬编码行,但如何用变量替换?
我试图在主视图中选择列表的第一项。我正在从 Detail 控制器执行此操作。我可以选择列表中的项目,但它不会触发事件以在“详细信息”视图中显示详细信息。
主视图.xml
<List id="idMasterList" mode="{device>/listMode}" select="onSelect"
noDataText="{i18nMaster>masterListNoDataText}"
items="{ path: '/', sorter: {path: 'name'} }" icon="sap-icon://refresh">
<items>
<StandardListItem id="idStandardItem" type="{device>/listItemType}"
tooltip="{name}"
title="{name}"
info="{total}/{due}"
/>
</items>
</List>
Run Code Online (Sandbox Code Playgroud)
详细信息.controller.js
sap.ui.getCore().byId("__xmlview2--idMasterList").getItems()[0].setSelected(true);
Run Code Online (Sandbox Code Playgroud)
我找不到任何可以直接解决这个问题的信息(或)我没有得到它!!!
任何帮助表示赞赏。
谢谢