设置初始选择值和观察者方法

时间:2014-07-28 21:44:52

标签: ember.js

我有一个选择框,我在更改时触发方法,我还需要设置初始选择的值。射击方法效果很好,但我似乎无法使用默认选项。

控制器:

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'}}

1 个答案:

答案 0 :(得分:1)

您可以将selectedUser设置为一次性计算属性,然后通过选择绑定覆盖该属性。例如:

selectedUser: Em.computed -> @get('users').objectAt 0

我们的想法是传递一个可以匹配的模型。观察者也应该忽略这一点。

希望有所帮助!