ExtJs Ext.data.Model 학습 노트
4234 단어 ExtJs
Using a Proxy Ext.define('User', {
extend: 'Ext.data.Model',
fields: ['id', 'name', 'email'],
proxy: {
type: 'rest',
url : '/users'
}
});
모델에서 Proxy를 정의한 후에save, update,load,destroy 등 네 가지 방법으로 삭제 수정 작업을 할 수 있습니다
var user = Ext.create('User', {name: 'Ed Spencer', email: '[email protected]'});
user.save(); //POST /users
//get a reference to the User model class
var User = Ext.ModelManager.getModel('User');
//Uses the configured RestProxy to make a GET request to /users/123
User.load(123, {
success: function(user) {
console.log(user.getId()); //logs 123
}
});
//the user Model we loaded in the last snippet:
user.set('name', 'Edward Spencer');
//tells the Proxy to save the Model. In this case it will perform a PUT request to /users/123 as this Model already has an id
user.save({
success: function() {
console.log('The User was updated');
}
});
//tells the Proxy to destroy the Model. Performs a DELETE request to /users/123
user.destroy({
success: function() {
console.log('The User was destroyed!');
}
});
commit([silent], [modifiedFieldNames]) 이 방법은 모델의 수정을 제출하는 데 사용됩니다.gridPanel에서 모델이 수정되면 빨간색 표시가 표시되고 이 방법은 수정을 제출합니다.
phantom: 이 속성은 이 모델 실체가 새 것인지 여부를 표시합니다. ID가 없으면true이고 그렇지 않으면false입니다.만약에 프론트 gridPanel에 수동으로 모델을 넣으면 아이디가 있으면false로 수동으로 설정할 수 있어요.
Ext.define('MyApp.data.MyModel', {
extend: 'Ext.data.Model',
requires: ['Ext.data.UuidGenerator'],
idgen: 'uuid',
...
});
모델에 ID 생성 정책을 설정할 수 있습니다. 그러면 새로 나온 모델이 Store를 통해 표시됩니다.sync();Insert 메서드를 사용할 수 있습니다.
아니면 ID가 있는 Model Store는 새로운 데이터가 아니라고 생각하고 Store를 통해getModifiedRecords () 이 (가) 없습니다.위의 ID 자동 성공 정책을 사용하여 이 문제를 해결합니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
문자열 길이를 계산하고 중국어로 두 개를 계산합니다.
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.
Ext.define('User', {
extend: 'Ext.data.Model',
fields: ['id', 'name', 'email'],
proxy: {
type: 'rest',
url : '/users'
}
});
var user = Ext.create('User', {name: 'Ed Spencer', email: '[email protected]'});
user.save(); //POST /users
//get a reference to the User model class
var User = Ext.ModelManager.getModel('User');
//Uses the configured RestProxy to make a GET request to /users/123
User.load(123, {
success: function(user) {
console.log(user.getId()); //logs 123
}
});
//the user Model we loaded in the last snippet:
user.set('name', 'Edward Spencer');
//tells the Proxy to save the Model. In this case it will perform a PUT request to /users/123 as this Model already has an id
user.save({
success: function() {
console.log('The User was updated');
}
});
//tells the Proxy to destroy the Model. Performs a DELETE request to /users/123
user.destroy({
success: function() {
console.log('The User was destroyed!');
}
});
Ext.define('MyApp.data.MyModel', {
extend: 'Ext.data.Model',
requires: ['Ext.data.UuidGenerator'],
idgen: 'uuid',
...
});
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
문자열 길이를 계산하고 중국어로 두 개를 계산합니다.텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.