gpt4 book ai didi

javascript - ExtJs通过ID加载模型

转载 作者:行者123 更新时间:2023-12-01 03:28:22 26 4
gpt4 key购买 nike

在 ExtJS 6.2.1 中,我尝试使用 model.load() 函数获取记录,并且我按照 Ext.data.Model doc 上的示例进行操作,“使用代理”部分。

这是我的用户模型:

Ext.define('myapp.model.User', {

extend: 'Ext.data.Model',

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

proxy: {
type: 'ajax',
api: {
read: '/user'
},
reader: {
type: 'json',
rootProperty: 'data'
}
}

});

在 View 中,我尝试加载 id=1 的用户

    var user = Ext.create('myapp.model.User');
user.load(1,{
//scope: this,
callback: function(record, operation, success) {
Ext.getCmp('name').setHtml(record.get('name'));
Ext.getCmp('email').setHtml(record.get('email'));
}
});

但是它没有向/user/1发送请求,而是向/user发送了请求

我也尝试了不同的方法,在创建用户实例时设置id,并在User模型中引用id,但无法获取ID。

如果我硬编码URL中的ID,就可以得到结果,所以主要问题是如何获取ID。

var user = Ext.create('myapp.model.User',{id:1}); 
user.load({
//scope: this,
callback: function(record, operation, success) {
Ext.getCmp('name').setHtml(record.get('name'));
Ext.getCmp('email').setHtml(record.get('email'));
}
});



proxy: {
type: 'ajax',
api: {
read: '/user/1' // this is working
//read: '/user/' + this.id // undefined
//read: '/user/' + this.get('id') //got error: this.get is not a function
},
reader: {
type: 'json',
rootProperty: 'data'
}
}

执行此操作的适当方法是什么?我必须创建商店吗?

最佳答案

type:'ajax'的代理,在尝试获取id为1的用户时,向

发送请求
/user?_dc=1498020013907&id=1

如果您希望它向

发送请求
/user/1?_dc=1498020013907

您必须使用类型:'rest'的代理。

关于javascript - ExtJs通过ID加载模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44666938/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com