1

コントローラのモデルを正しく設定するには?

これが私のコードです(エラーが発生しています):

<script>
   window.App = Ember.Application.create();

   App.Store = DS.Store.extend({
    revision: 11,
    adapter: 'DS.FixtureAdapter'
   });

   App.ApplicationRoute = Ember.Route.extend({
    setupController: function() {
     this.controllerFor('topic').set('model', App.Topic.find());
    }
   });

   App.Topic =  DS.Model.extend({
    label: DS.attr('string'),
    selected: DS.attr('boolean')
   });

   App.Topic.FIXTURES = [
     { id: 1, label: '1. First topic', selected: true },
     { id: 2, label: '2. Second topic' },
     { id: 3, label: '3. Third topic' },
   ];

   App.TopicController = Ember.ArrayController.extend();

   App.IndexController = Ember.ObjectController.extend({
    content: [],
    test: 'INDEX TEST',
    currentTopics: null
   });
</script>

テンプレート ( TopicController を Ember.Select ビューにバインドしようとしています)

<script type="text/x-handlebars" data-template-name="index">

  {{view Ember.Select
     contentBinding="App.TopicController"
     selectionBinding="currentTopics"
     optionLabelPath="content.label"
     optionValuePath="content.id"}}

</script>

バージョン: ember 1.0.0-pre4 ember-data リビジョン 11

Jsフィドル

4

1 に答える 1

4

これについてはここで議論が行われていますが、現時点では、Ember コントローラーはcontentforのエイリアスを使用しているためmodel、次のようにするsetupController必要があります。

App.ApplicationRoute = Ember.Route.extend({
  setupController: function() {
    this.controllerFor('topic').set('content', App.Topic.find());
  }
});

さらに、 を使用するこのサンプル フィドルFixtureAdapterを確認できます。これは進行中の作業であり、時間を見つけて更新することに注意してください。

http://jsfiddle.net/schawaska/KjWKw/

于 2013-02-15T18:39:09.060 に答える