2012-03-16 10 views
2

ページが読み込まれたときに選択ボックスのデフォルトオプションを設定するにはどうすればよいですか?私は、以下の例ではselectedPersonControllerのデフォルト値を設定しようとしましたが、役に立たないです。私は何か間違っているのですか?Ember.Selectデフォルトオプション

var App = Ember.Application.create(); 

App.Person = Ember.Object.extend({ 
    id: null, 
    firstName: null, 
    lastName: null, 

    fullName: function() { 
     return this.get('firstName') + " " + this.get('lastName'); 
    }.property('firstName', 'lastName').cacheable() 
}); 

App.selectedPersonController = Ember.Object.create({ 
    person: null 
}); 

App.peopleController = Ember.ArrayController.create({ 
    content: [ 
     App.Person.create({id: 1, firstName: 'Yehuda', lastName: 'Katz'}), 
     App.Person.create({id: 2, firstName: 'Tom', lastName: 'Dale'}), 
     App.Person.create({id: 3, firstName: 'Peter', lastName: 'Wagenet'}), 
     App.Person.create({id: 4, firstName: 'Erik', lastName: 'Bryn'}) 
    ] 
}); 

テンプレート:

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

答えて

2

あなたのApp.selectedPersonController上の特定の人物を設定しないでください。ここでの実施例を参照してください:http://jsfiddle.net/ZpTYV/

// set a default selected person 
App.selectedPersonController.set('person', App.peopleController.objectAt(1)); 

これはあなたの例ではタイプミスであれば、私は知りませんが、あなたはまた、グローバルAppを宣言する必要があり、それはハンドルバーテンプレートにアクセスすることができます。

+0

はい申し訳ありませんが、誤植です。これはまさに私が探していたものです。ありがとう! – skinneejoe

関連する問題