【问题标题】:Uncaught TypeError: Cannot read property 'apply' of undefined with Sencha未捕获的类型错误:无法使用 Sencha 读取未定义的属性“应用”
【发布时间】:2022-04-08 06:02:25
【问题描述】:

我对煎茶触摸有一些问题。 我有这个简单的代码:

items: [
        {
            name: "horo",
            xtype: 'togglefield',
            label: 'Horodateur ?',
            labelWidth: '55%',
            disabled: false,
            listeners: {
                beforechange: function (slider, thumb, newValue, oldValue) {
                    if (oldValue == 0 && newValue == 1) {
                        alert("toto");
                    }
                },
                change: function (slider, thumb, newValue, oldValue) {
                    if (oldValue == 0 && newValue == 1) {
                        alert("titi");
                    }
                    else if (oldValue == 1 && newValue == 0)
                        alert("tata");
                }
            }
        },

我的控制台上有这个错误:

未捕获的类型错误:无法读取未定义的属性“应用”。

有什么问题? 我的控制台说别的,也许Controller.js 是问题所在。

【问题讨论】:

  • 很多时候,当 xtype 不存在,或者我正在调用一个不存在的函数时(比如我在函数名中有拼写错误),我都会看到该错误。跨度>
  • 使用 Google Chrome 的 DevTools。在“Sources”选项卡中设置“Pause on Exception”,然后返回调用堆栈以查看问题的根源。
  • 我有代码 win.callback(win, {});对于对话框窗口,并使用 win.close() 修复它。不确定您是否有类似的代码未在此处显示?
  • 我建议在 fiddle.sencha.com 中添加一个完整的示例
  • 如果您在 initComponent() 方法中向组件添加项目,有时您会看到类似的错误。在某些情况下,如果您移动 callParent();在上面调用您添加项目的地方,错误将得到解决。

标签: javascript extjs


【解决方案1】:

我遇到了同样的问题。 当您定义一些侦听器并且您没有在控制器中定义该函数时,可能会出现此问题。 我可以看到 beforechange 和 change 具有功能,因此您的代码中可能还有更多您没有在论坛中显示的项目。如果有侦听器和侦听器引用的函数不存在,那么您将收到错误消息。 “未捕获的类型错误:无法读取未定义的属性‘应用’”

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-12
    • 2015-07-11
    • 1970-01-01
    • 2021-12-22
    • 1970-01-01
    • 2015-01-06
    • 2017-07-26
    相关资源
    最近更新 更多