是否有用于方向更改和窗口大小调整的openui5事件处理程序?
onInit: function() {
var data;
this.drawChart(data); // working fine
$( window ).resize(function() {
this.drawChart(data); // not working
});
},
drawChart: function(data) {
//code for draw chart
}
答案 0 :(得分:4)
OpenUI5具有内置功能,可以检测方向更改以及响应大小更改(例如桌面 - >平板电脑)。
查看sap.ui.Device.orientation's attachHandler
事件:
将给定的事件处理程序注册到的方向更改事件 文件窗口。
以下是使用sap.ui.Device.orientation.attachHandler
:
sap.ui.Device.orientation.attachHandler(function(mParams) {
if (mParams.landscape) {
alert('in landscape mode');
} else {
alert('in portrait mode');
}
});
同样有用的是sap.ui.Device.media attachHandler
用于检测窗口何时调整为不同的range-set。
要直接收听调整窗口大小的时间,看起来您已经有了解决方案,只需确保跟踪正确的使用范围:
var self = this;
$( window ).resize(function() {
self.drawChart(data);
});
答案 1 :(得分:0)
我找到了解决方案
这个。*在jquery中不起作用,因为它在封装的任何地方都有不同的含义...... 在openui5 * .view.js中这意味着视图对象 在* .controller.js中这意味着控制器对象...... 在jquery中,这意味着放置它的组件或它在该上下文中引用的任何内容...... 你不能随便把“这个”混合在一起
sap.ui.controller( “oui5mvc.controllerName”)drawChart(数据);