Tôi dường như không nhận được nút, được tạo trong vòng lặp mẫu #each
, để ràng buộc hành động nhấp của nó với mô hình được liên kết. Dưới đây là một bản demo nhanh chóng của các vấn đề ...Ember.js - Ràng buộc thao tác nút từ vòng lặp #each đến mô hình riêng của mình
Thiết lập Ember.js
ứng dụng:
window.Contacts = Ember.Application.create();
Contacts.Person = Ember.Object.extend({
first: '',
last: '',
save: function() {
// send updated information to server.
}
});
Contacts.contactsList = Ember.ArrayController.create({
content:[],
init: function() {
this.pushObject(Contacts.Person.create({
first:'Tom',
last:'Riddle'
}));
}
});
Mẫu:
<script type="text/x-handlebars">
{{#each Contacts.contactsList}}
<li>
{{view Ember.TextField valueBinding="first" viewName="firstname"}}
{{view Ember.TextField valueBinding="last" viewName="lastname"}}
<button {{action "save" on="click"}}>Save</button>
</li>
{{/each}}
</script>
Vấn đề:
Vì vậy, ý tưởng trong đơn giản này kịch bản demo là nút "Lưu" cho mỗi bản ghi sẽ kích hoạt một hành động để lưu trạng thái của mô hình riêng của nó. Tuy nhiên, cách nhấn vào nút Save đưa ra một lỗi:
Uncaught TypeError: Cannot call method 'call' of undefined
Giả định của tôi sẽ là quy định cụ thể "tiết kiệm" như hành động của nút sẽ ràng buộc nó vào save
phương pháp trên mô hình của nó. Tuy nhiên, điều này không xuất hiện để được các trường hợp. Một số đối tượng khác dường như đang xử lý các thao tác nhấp chuột, trong đó trình xử lý "lưu" không được xác định. Am i thiếu cái gì ở đây? Làm thế nào tôi có thể làm cho mỗi nút của mục hàng gọi một trình xử lý trên mô hình của riêng nó?
Cảm ơn bạn đã giúp đỡ!
tiếp cận thứ hai giúp tôi! – Franco
Tra cứu toàn cầu không được chấp nhận – Sisir