[英]Extjs5 treepanel [Uncaught TypeError: Cannot read property 'create' of undefined]
[英]ExtJS5 MVVC the CRUD ajax proxy does read but not the other
我首先进行一点测试,该测试包括来自Grid中PostgreSQL的显示数据。 网格存储具有Ajax代理。
以下是代码:
模型/管理/ Client.js
Ext.define('Chronos.model.manage.Client', {
extend : 'Ext.data.Model',
fields : [
{name : 'id', type: 'int'},
{name : 'name', type: 'string'}
]
});
存储/管理/ Client.js
Ext.define('Chronos.store.manage.Clients', {
extend : 'Ext.data.Store',
model : 'Chronos.model.manage.Client',
sorters : ['name'],
autoLoad : false,
autosync : true,
storeId : 'manageClientsStore',
proxy : {
type : 'ajax', // Ext.data.proxy.Ajax
api : {
create : 'api/management/clients.create.php',
read : 'api/management/clients.read.php',
update : 'api/management/clients.update.php',
destroy : 'api/management/clients.destroy.php'
},
reader : {
type : 'json', // Ext.data.reader.Json
rootProperty : 'records'
},
writer : {
type : 'json', // Ext.data.writer.Json
encode : true
}
}
});
查看/管理/ Client.js
Ext.define('Chronos.view.manage.Clients', {
extend : 'Ext.window.Window',
requires : [
'Chronos.view.manage.ClientsController',
'Chronos.model.manage.Client',
'Chronos.store.manage.Clients'
],
controller : 'manageclients',
modal : true,
layout : {
type : 'vbox',
align : 'stretch'
},
width : 300,
height : 500,
title : 'Kunden Verwaltung',
items: [{ // Grid
xtype : 'grid',
store : 'manage.Clients',
flex : 1,
selType : 'cellmodel',
plugins : 'cellediting',
dockedItems: [{
xtype: 'toolbar',
items: [{
xtype : 'button',
icon : 'resources/icons.32/kunden.neu.png',
text : 'Neuer Kunde',
scale : 'large',
handler : 'onClientAdd'
}, {
xtype : 'button',
icon : 'resources/icons.32/kunden.löschen.png',
text : 'Kunde löschen',
scale : 'large',
handler : 'onClientDelete',
disabled : true
}]
}],
columns: [{
text: 'id',
dataIndex: 'id',
align: 'right',
width: 50,
hidden: true
}, {
text: 'Name',
dataIndex: 'name',
flex : 1,
editor: {
xtype : 'textfield',
allowBlank: false
}
}],
listeners: {
render: {
scope: this,
fn: function(grid) {
grid.getStore().load();
}
}
}
}]
});
如我所愿,该商店仅在渲染上加载。
它可以很好地显示数据,但不能将其写回。 都不会调用Create,Update或Distroy网址(我知道,因为我在php代码中写了一个文件)。
我忘记了什么?
谢谢
一切都很好,但是使用autoSync
的情况
Ext.define('Chronos.store.manage.Clients', {
...
autoSync : true,
抱歉
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.