openui5事件处理程序用于orientationchange

时间:2016-02-10 14:36:24

标签: screen-orientation sapui5 window-resize

是否有用于方向更改和窗口大小调整的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
}

2 个答案:

答案 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(数据);