以下问题
我有2个功能
这是我的onInit:
onInit: function() {
sap.ui.core.UIComponent.getRouterFor(this).getRoute("CoObject").attachMatched(this._onRouteMatched, this);
},
_onRouteMatched: function(oEvent) {
var sRoute = oEvent.getParameter("arguments").Route;
}
并且我需要在此函数中使用sRoute
的值:
_onWeiterButtonPress: function(oEvent) {
var oRouter = this._getRouter();
var AufNr = this.getView().byId("IptAufNr").getValue();
}
需要sRoute
检查用户按下的图块,但我不知道如何在不设置全局值的情况下传递值吗?
感谢您的帮助
答案 0 :(得分:0)
我认为一个解决方案可以是在sessionStorage上设置sRoute值,然后在_onWeiterButtonPress中使用它。 这是一个示例:
sessionStorage.setItem('sRoute', sRoute);//for set the value
sessionStorage.getItem('sRoute';//for get the value
答案 1 :(得分:0)
如何?
_onRouteMatched: function (oEvent) {
var sRoute = getArgumentsFromRoute(oEvent);
}
_onWeiterButtonPress: function (oEvent) {
var oRouter = this._getRouter();
var AufNr = this.getView().byId("IptAufNr").getValue();
var sRoute = getArgumentsFromRoute(oEvent);
}
function getArgumentsFromRoute(oEvent)
{
return oEvent.getParameter("arguments").Route;
}
答案 2 :(得分:0)
您可以将objet作为navTo方法的第二个参数传递。
onWeiterPressed: function (oEvent) {
this.getRouter().navTo("detailView", {
aufNr: this.getView().byId("IptAufNr").getValue();
});
},
,然后在视图中导航至:
_onRouteMatched: function (oEvent) {
// Get passed object
var sObjectId = oEvent.getParameter("arguments").aufNr;
},
全部写在文档中;)
答案 3 :(得分:0)
通过声明解决了@santhosh的帮助
_onRouteMatched: function(oEvent) {
this.sRoute = oEvent.getParameter("arguments").Route;
}
现在,我可以从一个视图导航到3个不同的视图,分别取决于用户单击了哪个图块。
很多东西