以下问题
我有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中检查用户按下了哪个磁贴,但是我不知道如何在不设置全局值的情况下传递值?
谢谢您的帮助
我认为解决方案可以是在sessionStorage上设置sRoute值,然后在_onWeiterButtonPress中使用它。这是一个例子:
sessionStorage.setItem('sRoute', sRoute);//for set the value
sessionStorage.getItem('sRoute';//for get the value
怎么样:
_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;
}