Sencha现代应用程序viewcontroller没有绑定被调用?

时间:2017-12-19 13:35:02

标签: javascript model-view-controller extjs

首先要强调的是:我使用的是sencha 现代 请考虑以下观点:

Ext.define('myApplication.view.main.OrderView', {
    extend: 'Ext.Container',
    xtype: 'ordercontainer',
    controller: 'order',

    requires: [
        'Ext.MessageBox',
        'Ext.layout.Fit'
    ],

    viewModel: 'main',

    defaults: {
        tab: {
            iconAlign: 'top'
        },
        flex: 1
    },

    layout: 'vbox',

    items: [
        {
            xtype: 'button',
            text: 'test, to be updated',
            height: 30,
            flex: 0,
            listeners: {
                click: 'onClick'
            }
        },
    ]
});

使用相应的控制器:

Ext.define('myApplication.view.main.OrderController', {
    extend: 'Ext.app.ViewController',

    alias: 'controller.order',

    onClick: function () {
        debugger;
        alert('onClick');
    }
});

现在我可以在加载页面时看到按钮。我希望调用onClick函数(根据guide)。但事实并非如此。我没有看到任何警报,也没有(当开发控制台在chrome中打开时)调试器暂停onClick功能。

如果我更改按钮以使用handle并使用代码隐藏它可以正常工作。然而,视图控制器并不起作用。这不应该是对的吗?或者我是否再次陷入使用经典指南的陷阱?

1 个答案:

答案 0 :(得分:0)

这是因为在现代components没有事件<? //step.php Line 1 session_start(); if (!isset($_SESSION['doneRegister'])){ // Session not set header("location: register.php"); } ?> 但是tap

所以改变你的代码:

click