SAPUI5:Controller.js以不同的函数访问全局变量

2020-08-19 10:37发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

在我的controller.js中,我尝试在global变量上创建。 我将在 _onRouteFound()功能中进行设置。 ,但是当我尝试使用 onAfterRendering()函数时,它显示为未定义。

我应该如何声明全局变量?

 sap.ui.define([
 " sap/ui/core/mvc/Controller"
 ],函数(控制器){
 "使用严格";
 返回Controller.extend(" novigoapplications.NovigoApp.controller.FODetail",{
 onInit:函数(){
 this.getView()。byId(" map_canvas")。addStyleClass(" googleMap");
 var oRouter = sap.ui.core.UIComponent.getRouterFor(this);
 oRouter.getRoute(" Route_FODetail")。attachMatched(this._onRouteFound,this);
 },
 _onRouteFound:函数(oEvt){
 var oArgument = oEvt.getParameter(" arguments");
 var oView = this.getView();
 oView.bindElement({
 路径:"/img/FreightOrderSet('" + oArgument.SelectedItem +"')",
 事件:{
 dataReceived:函数(响应){
 this.name ="艾伦";/**分配值**/
 console.log(response.mParameters.data);
 }
 }
 });
 },
 onAfterRendering:function(){
                   console.log(this.name);/**这仍在打印未定义**/
 },
 });
 });
 

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

在我的controller.js中,我尝试在global变量上创建。 我将在 _onRouteFound()功能中进行设置。 ,但是当我尝试使用 onAfterRendering()函数时,它显示为未定义。

我应该如何声明全局变量?

 sap.ui.define([
 " sap/ui/core/mvc/Controller"
 ],函数(控制器){
 "使用严格";
 返回Controller.extend(" novigoapplications.NovigoApp.controller.FODetail",{
 onInit:函数(){
 this.getView()。byId(" map_canvas")。addStyleClass(" googleMap");
 var oRouter = sap.ui.core.UIComponent.getRouterFor(this);
 oRouter.getRoute(" Route_FODetail")。attachMatched(this._onRouteFound,this);
 },
 _onRouteFound:函数(oEvt){
 var oArgument = oEvt.getParameter(" arguments");
 var oView = this.getView();
 oView.bindElement({
 路径:"/img/FreightOrderSet('" + oArgument.SelectedItem +"')",
 事件:{
 dataReceived:函数(响应){
 this.name ="艾伦";/**分配值**/
 console.log(response.mParameters.data);
 }
 }
 });
 },
 onAfterRendering:function(){
                   console.log(this.name);/**这仍在打印未定义**/
 },
 });
 });
 
付费偷看设置
发送
1条回答
Nir深蓝
1楼 · 2020-08-19 11:20.采纳回答

如果要在JavaScript中定义全局变量,则需要使用

 window.name =" Allen" 

进行此操作,但请注意,使用全局变量是 通常是一种反模式,并可能导致不良的编码习惯。 最好通过函数调用传递此值,或者将其存储在控制器属性中。

PS:这是有关 JavaScript中的" this"是什么

一周热门 更多>