我有一个选择框,我在更改时触发方法,我还需要设置初始选择的值。射击方法效果很好,但我似乎无法使用默认选项。
控制器:
TodoController = Ember.ObjectController.extend
users: Em.computed -> @store.findAll 'user'
selectedUserDidChange: Em.observer 'selectedUser', ->
if @get 'selectedUser' then @assignUser()
assignee: Em.computed 'model', -> 4 # Just as a test
assignUser: ->
model = @get 'model'
model.set 'assigneeId', @get('selectedUser').get('id')
unless model.save()
console.log 'Error: TodoModuleController.assignUser'
模板:
<p>Assign-to:</p>
{{view Em.Select content=users value=assignee selection=selectedUser optionValuePath='content.id' optionLabelPath='content.firstName'}}
答案 0 :(得分:1)
您可以将selectedUser
设置为一次性计算属性,然后通过选择绑定覆盖该属性。例如:
selectedUser: Em.computed -> @get('users').objectAt 0
我们的想法是传递一个可以匹配的模型。观察者也应该忽略这一点。
希望有所帮助!