我正在尝试为我的视口设置一个加载蒙版,因为加载它需要很多时间。我试过这个:
Ext.define('MY.view.Viewport', {
extend: 'Ext.Viewport',
alias: 'widget.dispviewport',
initComponent: function() {
var me = this;
var myMask = new Ext.LoadMask(Ext.getBody(), {msg:"Please wait..."});
// myMask.show();
Ext.apply(me, {
id : 'main-viewport',
listeners: {
beforerender: function() {
myMask.show();
},
afterrender: function() {
myMask.destroy();
}
},
renderTo: 'id-sym-container',
layout: {...
但似乎我从来没有进入过beforerender
。console.log
我在函数中尝试过beforerender
,它也没有出现。当我这样尝试时:
Ext.define('MY.view.Viewport', {
extend: 'Ext.Viewport',
alias: 'widget.dispviewport',
initComponent: function() {
var me = this;
var myMask = new Ext.LoadMask(Ext.getBody(), {msg:"Please wait..."});
myMask.show();
Ext.apply(me, {
id : 'main-viewport',
listeners: {
// beforerender: function() {
// myMask.show();
// },
afterrender: function() {
myMask.destroy();
}
},
它有效,但我的面具显示得太晚了。我是否使用beforerender
了错误的方式,以及myMask
在我Viewport
开始渲染时准确启动的方式是什么?
谢谢
勒隆