Javascript 如何在回调中调用此.getView()

Javascript 如何在回调中调用此.getView(),javascript,sapui5,Javascript,Sapui5,我想用一个按钮改变压缩密度 onInit:function(){ this.getView().addStyleClass(“sapuizizeCompact”); }, 效果很好。如果我在按钮中更改它,它将不起作用 onOpenDialog:函数(oEvent){ var oDialog1=新建对话框(); // ... oDialog1.addButton(新按钮({ 文字:“OK”, 按:功能(){ //如何从函数内部指向视图? } })); oDialog1.open(); }, 如

我想用一个按钮改变压缩密度

onInit:function(){
this.getView().addStyleClass(“sapuizizeCompact”);
},
效果很好。如果我在按钮中更改它,它将不起作用

onOpenDialog:函数(oEvent){
var oDialog1=新建对话框();
// ...
oDialog1.addButton(新按钮({
文字:“OK”,
按:功能(){
//如何从函数内部指向视图?
}
}));
oDialog1.open();
},

如何从函数内部指向视图?

我很惊讶你不得不问,因为它是基本的Javascript,真的

由于
press
是从
otoglebutton
调用的,因此
this
关键字现在包含对
otoglebutton
的引用,而控制器(因此
getView()
方法失败)。有关详细信息,请搜索“内部函数中的此关键字”

要解决此问题,只需在内部函数外添加对此的引用:

var=this

在内部函数中,使用引用:

that.getView().addStyleClass(“sapuizizeCompact”)