使用一个动作访问多个模型

时间:2014-01-13 15:44:18

标签: javascript ember.js ember-data

我的索引路径中有多个模型,我声明如下:

App.IndexRoute = Em.Route.extend({
  model: function(){   
   return Ember.RSVP.hash({
     dogs: this.store.find('dog'),
     cats: this.store.find('cat')
  })
})

通过这样做,我能够很好地渲染它们:

<script type="text/x-handlebars" data-template-name="index">
  {{render 'dogs' dogs}}
  {{render 'cats' cats}}
</script> 

我现在面临的问题是,我想将索引中的单个操作传递给每个模型控制器上的特定操作。我试过这个:

App.IndexController = Em.ObjectController.extend({
  needs: ['cats', 'dogs'],  
  actions: {   
    indexAction: function() {      
      this.get('controllers.cats').send('catAction')
      this.get('controllers.dogs').send('dogAction')
    }
  }
})

调用适当的函数但这些函数使用this关键字,直接调用时似乎绑定不同。

有人有任何建议吗?

0 个答案:

没有答案