Ember.js 从父控制器访问ItemController

Ember.js 从父控制器访问ItemController,ember.js,Ember.js,是否可以从父控制器访问ItemController集合? 我有以下代码: App.ShoppinglistController = Ember.Controller.extend( cartContent: null actions: removeSelected: -> # How to I get each of the cart contents with it's ShoppinglistItemController? # I want t

是否可以从父控制器访问ItemController集合? 我有以下代码:

App.ShoppinglistController = Ember.Controller.extend(
  cartContent: null

  actions:
    removeSelected: ->
      # How to I get each of the cart contents with it's ShoppinglistItemController?
      # I want to filter them by the 'isSelected' property
)

App.ShoppinglistItemController = Ember.ObjectController.extend(
  isSelected: null
)

App.ShoppinglistRoute = Ember.Route.extend(
  setupController: (controller) ->
    # [...]
    controller.set('cartContent', cartContent)
)

<script type="text/x-handlebars" data-template-name="shoppinglist">
  {{#each cartContent itemController="shoppinglistItem"}}
    {{title}}
    {{view Ember.Checkbox checked=isSelected}}
  {{/each}}
  <div {{action 'removeSelected'}}>Remove selected items</div>
</script>
App.ShoppinglistController=Ember.Controller.extend(
内容:空
行动:
removeSelected:->
#如何使用ShoppinglistItemController获取每个购物车内容?
#我想按“isSelected”属性筛选它们
)
App.ShoppinglistItemController=Ember.ObjectController.extend(
isSelected:空
)
App.ShoppinglistRoute=Ember.Route.extend(
设置控制器:(控制器)->
# [...]
controller.set('cartContent',cartContent)
)
{{#每个cartContent itemController=“shoppinglistItem”}
{{title}}
{{view Ember.Checkbox checked=isSelected}
{{/每个}}
删除所选项目

而不是在每个视图帮助器中使用
itemController=“shoppinglistItem”
。将此移动到App.ShoppinglistController。例如:

App.ShoppinglistController = Ember.Controller.extend(

  itemController: "shoppinglistItem"

  cartContent: null

  actions:
    removeSelected: ->
      cartsToRemove = @.get('cartContent').filterBy('isSelected', true)
      # ... remove the carts
)

App.ShoppinglistItemController = Ember.ObjectController.extend(
  isSelected: null
)

App.ShoppinglistRoute = Ember.Route.extend(
  setupController: (controller) ->
    # [...]
    controller.set('cartContent', cartContent)
)

<script type="text/x-handlebars" data-template-name="shoppinglist">
  {{#each cartContent}}
    {{title}}
    {{view Ember.Checkbox checked=isSelected}}
  {{/each}}
  <div {{action 'removeSelected'}}>Remove selected items</div>
</script>
App.ShoppinglistController=Ember.Controller.extend(
itemController:“shoppinglistItem”
内容:空
行动:
removeSelected:->
cartsToRemove=@.get('cartContent').filterBy('isSelected',true)
#…卸下手推车
)
App.ShoppinglistItemController=Ember.ObjectController.extend(
isSelected:空
)
App.ShoppinglistRoute=Ember.Route.extend(
设置控制器:(控制器)->
# [...]
controller.set('cartContent',cartContent)
)
{{{#每个cartContent}
{{title}}
{{view Ember.Checkbox checked=isSelected}
{{/每个}}
删除所选项目

而不是在每个视图帮助器中使用
itemController=“shoppinglistItem”
。将此移动到App.ShoppinglistController。例如:

App.ShoppinglistController = Ember.Controller.extend(

  itemController: "shoppinglistItem"

  cartContent: null

  actions:
    removeSelected: ->
      cartsToRemove = @.get('cartContent').filterBy('isSelected', true)
      # ... remove the carts
)

App.ShoppinglistItemController = Ember.ObjectController.extend(
  isSelected: null
)

App.ShoppinglistRoute = Ember.Route.extend(
  setupController: (controller) ->
    # [...]
    controller.set('cartContent', cartContent)
)

<script type="text/x-handlebars" data-template-name="shoppinglist">
  {{#each cartContent}}
    {{title}}
    {{view Ember.Checkbox checked=isSelected}}
  {{/each}}
  <div {{action 'removeSelected'}}>Remove selected items</div>
</script>
App.ShoppinglistController=Ember.Controller.extend(
itemController:“shoppinglistItem”
内容:空
行动:
removeSelected:->
cartsToRemove=@.get('cartContent').filterBy('isSelected',true)
#…卸下手推车
)
App.ShoppinglistItemController=Ember.ObjectController.extend(
isSelected:空
)
App.ShoppinglistRoute=Ember.Route.extend(
设置控制器:(控制器)->
# [...]
controller.set('cartContent',cartContent)
)
{{{#每个cartContent}
{{title}}
{{view Ember.Checkbox checked=isSelected}
{{/每个}}
删除所选项目