余烬视图 - 内容松散

时间:2013-08-12 10:24:57

标签: ember.js

我有一个带有ember的rails应用程序,可以渲染一个模板,我想要渲染应用程序的笔记列表。

主要模板是:

<div class="container" style="margin-top: 30px">
   ......
        <ul class="nav nav-list">
          <li class="nav-header">list notes</li>
 #ERROR -> {{  view App.NotesListView contentBinding='App.NotesIndexController' }}
        </ul>
      </div>
      {{#linkTo "notes.new"}} <button class="btn btn-primary">Add Note</button>{{/linkTo}}
    </div>
  ......
  </div>
</div>

我有notes_index_controller:

App.NotesIndexController = Em.ArrayController.extend

  init: ->
    console.log "entra en notes index controller"

  selectedResource: null

  isEmpty:( ->
    @get('length') == 0
  ).property('length')

和index_route:

App.NotesIndexRoute = Em.Route.extend

  model: ->
    App.Note.find()


  setupController:(controller, model ) ->
    controller.set('content', model )
    controller.set('users', App.User.find() )

当我尝试渲染此视图时(App.NotesListView):

App.NotesListView = Ember.View.extend

  templateName: "notes/list" 

list.hbs

{{#each content}}  #I supose that have to be the NotesIndex´s content but not it is
  <li>test</li>
  <li>{{  view App.NoteListItemView contentBinding='this' }}</li>
{{/each}}

我无法使用此视图的内容绑定NotesIndexController(我获取注释列表)。

这样做的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

假设您的主要模板为index,您应该可以通过App.NotesIndexController nodesIndex中需要API的IndexController控制器来访问您的App.IndexController = Em.ArrayController.extend content: [] needs: ['notesIndex'] notesBinding: 'controllers.notesIndex.content' 内容。

JS

<script type="text/x-handlebars" id="index">
  ...
  {{view App.NotesListView contentBinding='notes'}}
  ...
</script>

车把

application

如果您的主要模板是notesIndex,那么您应该可以执行相同操作,但需要ApplicationController上的App.ApplicationController = Em.ArrayController.extend content: [] needs: ['notesIndex'] notesBinding: 'controllers.notesIndex.content' 控制器:

JS

<script type="text/x-handlebars" id="application">
  ...
  {{view App.NotesListView contentBinding='notes'}}
  ...
</script>

车把

setupController

编辑以回应您的上次评论:

尝试将NotesIndexRoute中的 ... setupController:(controller, model) -> @_super(controller, model) controller.set('users', App.User.find()) ... 钩子重写为:

{{1}}

希望它有所帮助。