0

我试图完全理解问题emberjs 的先前答案 - 如何使用路由器基础设施标记活动菜单项

在答案中,我试图简化(不使用插座导航,也没有在根目录下添加二级路由),但在我的情况下,活动链接不起作用://

这是一个小提琴:http: //jsfiddle.net/archange/Scqxw/

我在小提琴中不明白的是为什么“isActive:function()”在路由器上设置后没有更新......:/

所以如果有人路过可以解释我的原因。非常感谢。如果有人有另一种处理导航菜单的解决方案(也许使用 bindAttr ?)

谢谢

4

1 回答 1

0

这里发生的情况是,当模板/视图创建另一个视图时,它使新创建的视图可以访问它的控制器。例如:

<script type="text/x-handlebars" data-template-name="application">
    {{view App.NavigationView}}
</script>

导航视图的控制器将是实例applicationController。这是预期的行为。

如果您想告诉新创建NavigationView的控制器使用另一个控制器,只需将其传入,如下所示:

{{view App.NavigationView controllerBinding="navigationController"}}

请注意,我将这两个控制器连接在一起App.ready

这是您编辑的小提琴:http: //jsfiddle.net/Scqxw/5/

于 2012-09-22T02:11:23.070 回答