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”)代码>