有两个路由(comments
,trackbacks
)嵌套在post
我尝试直接通过/posts/1/trackbacks
进入应用程序之后,从trackbacksController
访问的commentsController
content
。不幸的是,它看起来像控制器没有完全初始化,并且内容没有被加载。烬路由器 - 从不同控制器上的相同的水平
这是Router
的样子:
Router = Ember.Router.create
root: Ember.Route.extend
index: Ember.Route.extend
route: '/'
post: Ember.Route.extend
route: '/posts/:post_id'
index: Ember.Route.extend
route: '/'
redirectsTo: 'comments'
comments: Ember.Route.extend
route: '/comments'
connectOutlets: (router) ->
controller = router.get('postController')
controller.connectOutlet 'comments', controller.get('comments')
trackbacks: Ember.Route.extend
route: '/trackbacks'
connectOutlets: (router) ->
controller = router.get('postController')
controller.connectOutlet 'trackbacks', controller.get('trackbacks')
这里是TrackbacksController
:
App.TrackbacksController = App.ArrayController.extend
init: ->
console.log App.router.get('attributesController.content') # : []
@_super()
有初始化手动router.commentsController
得到它是从trackbacksController
内容的最佳做法?我的方法有什么问题吗?
谢谢 - 我正在做一个属性,由于某种原因,它不会被触发。对我来说,似乎控制器内容在我调用特定路由之前不会被分配。 – pex 2012-08-10 09:29:20
...我可能会用观察员试一下,很难。 – pex 2012-08-10 09:29:37
实际上,控制器内容在您为controller.set('content',...)显式指定时,或者当您使用上下文对象调用connectOutlet()时,会进行赋值。 – 2012-08-10 09:43:47