extjs viewmodel ajax,ExtJS中viewController、viewModel、View、Model的关联展示

这段代码展示了如何在ExtJS中定义一个名为`User`的数据模型,它继承自`Ext.data.Model`,并配置了读取和更新数据的API。同时,定义了一个视图控制器`MyViewController`,包含了加载和保存用户数据的方法。`MyViewModel`链接到用户模型,并在表单中绑定了`name`字段。最后,创建了一个包含加载和保存按钮的表单,实现了用户数据的交互操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Ext.define('User', {

extend: 'Ext.data.Model',

fields: ['id','name'],

proxy: {

type: 'ajax',

api: {

read: 'read.json',

update: 'update.json'

}

}

});

Ext.define('MyViewController', {

extend: 'Ext.app.ViewController',

alias: 'controller.myvc',

onUserLoad: function(btn, e, eOpts) {

this.getViewModel().linkTo('user', {

type: 'User',

id: 0

})

},

onUserSave: function(btn, e, eOpts) {

this.getViewModel().get('user').save({

callback: function(record) {

console.log( record )

}

})

}

})

Ext.define('MyViewModel', {

extend: 'Ext.app.ViewModel',

alias: 'viewmodel.myvm',

});

Ext.define('MyForm', {

extend: 'Ext.form.Panel',

bodyPadding: 10,

title: 'My Form',

controller: 'myvc',

viewModel: {

type: 'myvm'

},

items: [{

xtype: 'textfield',

name: 'name',

fieldLabel: 'Name',

bind: '{user.name}'

}],

tbar: [{

text: 'Load a User',

handler: 'onUserLoad'

}],

bbar: [{

text: 'Save',

handler: 'onUserSave'

}]

})

Ext.application({

name: 'Fiddle',

launch: function() {

Ext.create('MyForm', {

renderTo: document.body,

width: 400

})

}

});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值