Tôi có một ứng dụng mà tại thời điểm này có chứa chế độ xem các đối tượng của cùng một mô hình. Chúng được lấy từ máy chủ, looped qua và thêm vào bộ điều khiển danh sách sử dụng một phương pháp addember.js - mẫu điều khiển/chế độ xem chính xác để tạo mô hình mới
<script>
App.Controllers.List = Em.ArrayProxy.create({
content: Ember.A([]),
add: function(obj){
this.pushObject(obj);
}
});
</script>
bây giờ tôi đang làm việc trên một phần mà người dùng tạo ra một đối tượng mới đó (sau khi đi qua xác nhận) sẽ được thêm vào danh sách và cũng được gửi đến máy chủ.
Tôi không thể tìm thấy bất kỳ ví dụ nào về cách tốt nhất để theo dõi để tạo đối tượng mới thông qua biểu mẫu nhập. Tôi có thể thấy một vài lựa chọn, và đã được bán một vài nhưng không có gì cảm thấy đúng.
- Tạo một cái nhìn với các yếu tố hình thức thích hợp và một phương pháp cho instantiating mô hình sử dụng thuộc tính khác nhau lấy từ các yếu tố hình thức sử dụng .get()
- Tạo một mô hình trong nội dung và hình thức ràng buộc của quan điểm các yếu tố đó. Bao gồm một phương pháp trên xem cho thêm vào mảng điều khiển/tiết kiệm đến máy chủ
- Tạo một mô hình, thêm nó vào mảng điều khiển và mở nó để chỉnh sửa
tôi loại có thể chống lại các chức năng tôi muốn, nhưng tôi muốn đảm bảo rằng tôi biết thực hành tốt nhất.
Tôi hiện đang có một cái gì đó như thế này (đó là viên đạn thứ hai trong danh sách của tôi)
<script>
App.Views.ItemCreate = Em.View.extend({
content: App.Models.Item.create({}),
templateName: 'create',
createButton: function(){
var itemObj = this.get('content');
var item = {};
item.title = this.get('content').get('title');
$.ajax({
type: 'POST',
url: '/test/data.json',
data: item,
dataType: 'json',
success: function(responseData, textStatus, jqXHR) {
App.Controllers.List.add(itemObj);
}
});
}
});
</script>
<script type="text/x-handlebars" data-template-name="create">
{{view Em.TextField id="create-title" valueBinding="content.title"}}
<a href="#" {{action "createButton" }}>Create</a>
</script>
Bất kỳ sự giúp đỡ rất nhiều đánh giá cao
GHI CHÚ
Tôi đã thay đổi câu trả lời đúng để pangratz. Mặc dù các câu trả lời khác trả lời trực tiếp câu hỏi của tôi, tôi tin rằng những người tìm thấy thông tin này qua Google nên tham khảo câu trả lời mà Pangratz cung cấp không chỉ là MVC tốt mà còn hơn Ember-y: o)
Cảm ơn bạn vì điều này. Tôi đã nhận thấy tôi bắt đầu viết lại dữ liệu ember một chút khi triển khai nguồn dữ liệu, tôi đã sử dụng nó trong một ngữ cảnh hơi khác và có một số hành vi không có văn bản, tôi sẽ cho nó một thứ khác mà tôi nghĩ! – joevallender
Ngoài ra, chỉ cần chú ý đến bất kỳ ai khác gặp phải điều này: trong hàm createObject nguồn dữ liệu, nếu áp dụng được sử dụng nó sẽ là callback.apply (target, [data]) hoặc callback.call (target, data) và bạn muốn có thể sử dụng tự/_this/bạn đã chuyển vào hàm ajax thay vì dữ liệu thô được trả về – joevallender