将当前路由活动ID传递给组件

时间:2013-10-07 12:58:24

标签: javascript ember.js

我已经用组件完成了几件事并且它们非常棒,但现在我遇到了一个我似乎无法解决的小问题,谷歌只回答了模糊的答案,因为这一切都很新。

我想传入已选择的当前活动控制器/模型的ID。

由于组件与应用程序的其余部分隔离,因此使用controllerFor的标准方法似乎不起作用。

我可以使用ApplicationController将整数传递给我的组件,但我似乎无法找到传递当前id的方法。我做了一个丑陋的解决方法,解析当前的网址并按/拆分,但那不是贪婪的方式。我该怎么做呢?

1 个答案:

答案 0 :(得分:0)

请查看这个小提琴是否解决了您的疑虑。我认为正确的方法是为组件创建绑定。

http://jsfiddle.net/ahaurw01/CB2WS/1/

该方法的本质是具有如下所示的组件:

<script type="text/x-handlebars" data-template-name="components/my-comp">
  The id is {{id}}.
</script>

以这种方式使用它:

<script type="text/x-handlebars" data-template-name="thing">
  {{my-comp id=model.id}}
</script>

model属性出现在每个ObjectController上,您可以绑定到模型的ID。