ExtJs 多次 onReady 执行

Posted

技术标签:

【中文标题】ExtJs 多次 onReady 执行【英文标题】:ExtJs multiple onReady execution 【发布时间】:2014-02-28 14:02:17 【问题描述】:

我通过以下方式在我的页面上使用多个 Ext.onready 函数。

Page1.jsp 具有以下结构 -

<body>
<%@include file="/jsp/layout/page2.jsp" %>
<div id="restOfBodyContent">
<script type="text/javascript">
 Ext.onReady(function()
     var obj=null;
    obj.split(':');//on this line error will be thrown

 );
</script>
</body>

Page2.jsp 具有以下结构 -

<body>
<div id="bodyContent">
<script type="text/javascript">
 Ext.onReady(function()
    //some valid functionality
 );
</script>
</body>

当我执行上面的页面时,页面 1 上的 Ext.onReady 内部会引发错误,因为页面 2 上的 Ext.onReady 没有被执行。

有什么方法可以确保在 page2 中存在的 Ext.onReady 被执行,即使 page1 的 Ext.onReady 中存在错误。

谢谢!

【问题讨论】:

为什么不用try catch 换行? 什么样的错误@4zh4r? @procrastinator,这就是我在回答中提到的。如果他知道这是一个错误,则需要对其进行修复。但话虽如此,这取决于作者采取行动。 【参考方案1】:

当您的脚本出现错误时,我认为您应该继续修复它,以使其正常工作。

但如果您无法控制该代码块或者您想跳过该错误,请尝试将其包含在 try catch 中,这样它就不会影响脚本的其余部分。

Ext.onReady(function()
    try 
        var obj=null;
        obj.split(':');//on this line error will be thrown
     catch(e)  
        console.log('error'); 
    
);

【讨论】:

如果出现错误,那么我将修复它,或者我什至可以选择在 try catch 块中编写方法实现。但是我想知道 ExtJs 是否有办法提供某种配置或机制来处理这种情况,因为即使 try catch 不存在,我们也可以确保执行其他 Ext.onReady 方法。

以上是关于ExtJs 多次 onReady 执行的主要内容,如果未能解决你的问题,请参考以下文章

ExtJs笔记

微信小程序

extjs 6

ExtJs 加载数据

使用 extjs 设计数独

Javascript - ExtJs - 基本组件