我正在尝试使用以下方法绑定路由的自定义控制器:
# app/routes/products/category.coffee
`import Ember from 'ember'`
route = Ember.Route.extend
controllerName: 'categories/selector'
`export default route`
这样可行,但是当我尝试将事件从该控制器冒泡到路径时,它会进入递归循环。
我发现这是因为自定义控制器无法到达路由,因为'target'
是控制器:
# app/controllers/categories/selector.coffee
`import Ember from 'ember'`
controller = Ember.ArrayController.extend
actions:
back: ->
console.log "controller back action handle"
console.log (@ == @get 'target') # => true
return false # Returning true creates recursive loop
`export default controller`
模板:
# app/templates/products/category.hbs
{{render 'categories/selector'}}
这是正常行为吗?我如何从这个自定义控制器到达路线?
答案 0 :(得分:0)
问题出在模板中,您应该使用:
# app/templates/products/category.hbs
{{partial 'categories/selector'}}
render
创建自己的上下文/控制器,如@givanse所述。