2012-03-10 25 views
5

Tôi đang cố gắng sử dụng điều khiển Ember.Select để đặt id liên kết trên mô hình. Tuy nhiên, tôi dường như không thể có được sự kiểm soát để liên kết lựa chọn của nó với một thuộc tính id thay vì toàn bộ đối tượng mô hình. Đây có phải là do thiết kế trong điều khiển Ember.Select không? Tôi có những điều sau đây trong mẫu của tôi:Cách sử dụng Ember.Select để đặt ID liên kết

{{view Ember.Select 
     contentBinding="App.peopleController.content" 
     selectionBinding="App.selectedPersonController.personId" 
     optionLabelPath="content.fullName" 
     optionValuePath="content.id"}} 

Tuy nhiên, ngay cả với thiết lập rõ ràng lựa chọnVui lòng với thuộc tính personId, nó vẫn có vẻ ràng buộc với đối tượng người. Full jsfiddle đây: http://jsfiddle.net/PXVZb/10/

+0

Dường như hành vi này được dự định, hãy xem https://github.co m/emberjs/ember.js/blob/master/gói/ember-handlebars/lib/controls/select.js # L37 – pangratz

+0

Vâng, có vẻ như vậy nhưng nó làm cho tôi tự hỏi tại sao điều khiển chấp nhận và tham số optionValuePath ... nó có vẻ như tham số đó không có hiệu lực, hoặc ít nhất không có trong jsFiddle của tôi. –

+1

'optionValuePath' cho' Ember.Select' xem thuộc tính nào giữ giá trị trên tất cả các thẻ '

Trả lời

1

tôi sẽ đề nghị để ràng buộc người được lựa chọn để App.selectedPersonController của bạn và tạo ra một tài sản personId mà liên kết với những người id, xem http://jsfiddle.net/PXVZb/11/

JS:

App.selectedPersonController = Ember.Object.create({ 
    personIdBinding: 'person.id' 
}); 

tay lái:

{{view Ember.Select 
     contentBinding="App.peopleController.content" 
     selectionBinding="App.selectedPersonController.person" 
     optionLabelPath="content.fullName" }} 
Các vấn đề liên quan