Tôi sử dụng Extjs4 và MVC. Tôi muốn thay đổi các trường của Mô hình của tôi một cách năng động ... Điều gì đó giống như thêm một số trường biến ... Bất kỳ gợi ý nào?Extjs4 Làm thế nào để thay đổi một Mô hình động?
Trả lời
Bạn có thể sử dụng chức năng model.setFields(fieldsArray)
, được hiển thị here trong API. Phương thức này thay thế tất cả các trường hiện có trên mô hình với bất kỳ trường mới nào bạn đưa vào đối số. Không có phương thức tĩnh getFields
để nắm bắt các trường hiện có để không ghi đè chúng nhưng nó đủ dễ dàng để có được chúng bằng cách sử dụng model.prototype.fields
.
Tôi đã thực hiện việc này gần đây để đính kèm các trường cài đặt quyền động vào mô hình "Người dùng" trước khi tôi tải người dùng. Dưới đây là một ví dụ:
Ext.define('myApp.controller.Main', {
extend: 'Ext.app.Controller',
models: [
'User',
],
stores: [
'CurrentUser', // <-- this is not autoLoad: true
'PermissionRef', // <-- this is autoLoad: true
],
views: ['MainPanel'],
init: function() {
var me = this;
// when the PermissionRef store loads
// use the data to update the user model
me.getPermissionRefStore().on('load', function(store, records) {
var userModel = me.getUserModel(),
fields = userModel.prototype.fields.getRange();
// ^^^ this prototype function gets the original fields
// defined in myApp.model.User
// add the new permission fields to the fields array
Ext.each(records, function(permission) {
fields.push({
name: permission.get('name'),
type: 'bool'
});
});
// update the user model with ALL the fields
userModel.setFields(fields);
// NOW load the current user with the permission data
// (defined in a Java session attribute for me)
me.getCurrentUserStore().load();
});
}
});
Tôi chỉ nhận thấy rằng đây là bản sao của [this one] (http://stackoverflow.com/questions/5751289/dynamic-model-with-extjs-4) sau khi tôi trả lời nó. Tôi đưa ra câu trả lời chính xác ở đó ... – Geronimo
- 1. Làm thế nào để tự động đặt lưới Mô hình lựa chọn CheckBox trong ExtJs4?
- 2. extjs4 Thay đổi biểu tượng cột hành động động
- 3. làm thế nào để sử dụng các nút nhấn để thay đổi hình nền của nút trong extjs4?
- 4. django: làm thế nào để thay đổi giá trị cho nullbooleanfield trong một mô hình?
- 5. Làm thế nào để cập nhật mô hình Ember.Route động?
- 6. iOS Làm thế nào để làm mới ScrollView khi mô hình của nó thay đổi?
- 7. Làm thế nào để thay đổi editmodel/postmodel thành mô hình miền
- 8. Mô hình diễn viên để thay thế mô hình luồng?
- 9. Làm thế nào để thay đổi một biến mô-đun từ mô-đun khác?
- 10. Làm thế nào để mô hình chu kỳ giữa các trường hợp lớp không thay đổi?
- 11. Làm thế nào để phát hiện các thay đổi thuộc tính từ mô hình?
- 12. Làm thế nào để mô phỏng thay đổi quần áo trong hình ảnh 2D?
- 13. Làm thế nào để thay đổi hình dạng của dotplot?
- 14. làm thế nào để thay đổi vị trí sprite động?
- 15. AngularJS: tự động phát hiện thay đổi trong mô hình
- 16. Làm thế nào để appendReplacement trên một nhóm Matcher thay vì toàn bộ mô hình?
- 17. Làm thế nào để mờ dần thay đổi hình nền
- 18. Làm thế nào để thay đổi hình nền của TinyMCE?
- 19. làm thế nào để thay đổi chỉ thị @model thành một mô hình khác trong chế độ xem dao cạo?
- 20. Làm thế nào để thay đổi chiều cao băng động?
- 21. Làm thế nào để tự động thay đổi jqplot renderer?
- 22. làm thế nào để sử dụng sed thay thế mô hình chuỗi với dấu chéo ngược
- 23. Làm thế nào để ánh xạ Xem mô hình trở lại Mô hình miền trong một hành động POST?
- 24. Làm thế nào để tự động thay đổi lớp của một Html.ActionLink trong MVC
- 25. Làm thế nào để tự động thay đổi kích thước của hình ảnh trong Sitecore?
- 26. Entity Framework mô hình thay đổi lỗi
- 27. Làm thế nào để thay đổi màu sắc hình dạng động?
- 28. Làm thế nào để tự động tải lại một tệp python khi nó được thay đổi
- 29. Làm thế nào để mở rộng một mô hình từ mô hình tùy chỉnh trong CodeIgniter
- 30. Làm thế nào để thay đổi một hình ảnh trên một slide trong Latex?
thể trùng lặp của [động mẫu với ExtJS 4] (http://stackoverflow.com/questions/5751289/dynamic-model-with-extjs-4) –
biết chính xác là bạn cố gắng để làm gì? Bạn có thể chi tiết hơn một chút không? Và bạn đang sử dụng phiên bản ExtJ nào? – sha
Extjs4, ví dụ tôi có một mô hình với 3 lĩnh vực ... Tôi muốn mở rộng nó với sáu lĩnh vực khác ... –