我知道 EmberJS 提倡“数据下降,行动上升”,但我有一个场景,我不确定如何适应该范式。最好用一个与我想要达到的目标类似的例子来解释。
假设我有一个固定的标题组件(' fixed-header
')。我希望这个标题总是出现,所以我当然将它添加到我的主应用程序模板中:
{{fixed-header}}
{{outlet}}
现在假设我希望我的标题显示有关我所在路线的一些信息。为简单起见,假设每条路线都有一个我想在固定标题中显示的标题。因此,无论我是 on /foo
or/foo/bar/baz
还是/wackawacka/meh?cat=meow
,我都希望该路由能够将一些数据发送到fixed-header
组件以进行显示。换句话说,我有点想反对“数据下降”并做一个“数据上升”。
解决这个问题的理想方法是什么?我的第一直觉是创建一个服务来my-header
监听并且路由可以发布他们的信息。但这是正确的做法吗?创建一个服务只是为了发送一点文本对我来说似乎很奇怪。还有其他方法吗?