繁体   English   中英

未捕获的TypeError:controller.setView不是EXTJS中的函数

[英]Uncaught TypeError: controller.setView is not a function in EXTJS

我想在单击按钮时重定向/弹出窗体我将按钮处理程序命名为OnRoutesClick但是我收到了一些错误

请帮我找出错误,谢谢你提前浏览器中的错误截图

reportMenuController.js

Ext.define('Traccar.view.reportMenuController', {
    extend:'Ext.app.ViewController',
    alias:'controller.reportMenu',

requires:[
'Traccar.view.dialog.Server',
'Traccar.view.dialog.User',
'Traccar.view.dialog.reportBox'
],

onRoutesClick: function () {
        var dialog = Ext.create('Traccar.view.dialog.reportBox', {
            selfEdit: true
        });
        dialog.down('form').loadRecord(Traccar.app.getUser());
        dialog.lookupReference('testNotificationButton').setHidden(false);
        dialog.show();
    },

reportBox.js

Ext.define('Traccar.view.dialog.reportBox', {
    extend:'Traccar.view.dialog.BaseEdit',

requires: [
'Traccar.view.ClearableComboBox',
'Traccar.view.dialog.reportBoxController',
'Traccar.view.UnescapedTextField'
],

controller:'reportBox',
title:'Report',
text:'Report',


items:{
    xtype:'form',
   items: [{
    xtype:'fieldset',
    title:Strings.sharedRequired,
    items:[{
        xtype:'unescapedTextField',
        fieldLabel:'name'
    }]
   }]
}
});

浏览器出错

Uncaught TypeError: controller.setView is not a function
    at constructor.applyController (ext-all-debug.js:53043)
    at constructor.setter [as setController] (ext-all-debug.js:10545)
    at Ext.Configurator.configure (ext-all-debug.js:11134)
    at constructor.initConfig (ext-all-debug.js:12643)
    at constructor (ext-all-debug.js:66310)
    at new constructor (ext-all-debug.js:13136)
    at eval (eval at getInstantiator (ext-all-debug.js:15045), <anonymous>:3:8)
    at Object.create (ext-all-debug.js:15489)
    at constructor.onRoutesClick (reportMenuController.js:50)
    at Object.callback (ext-all-debug.js:8705)
  1. 在视图中,对于控制器密钥,应提及控制器别名。 因此,由于您的别名是“reportMenu”,您必须提及相同的内容。
Ext.define('Traccar.view.dialog.reportBox', {
    extend:'Traccar.view.dialog.BaseEdit',

requires: [
'Traccar.view.ClearableComboBox',
'Traccar.view.dialog.reportBoxController',
'Traccar.view.UnescapedTextField'
],

controller:'reportMenu',
title:'Report',
text:'Report',


items:{
    xtype:'form',
   items: [{
    xtype:'fieldset',
    title:Strings.sharedRequired,
    items:[{
        xtype:'unescapedTextField',
        fieldLabel:'name'
    }]
   }]
}
});
  1. 您的控制器应与视图位于同一级别的文件夹中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM