我正在尝试使用ember.js
执行以下操作我想要一条路线显示两次相同的视图,代表一个谷歌饼图。
我定义了我的视图并将模板编码为
{{view App.MyView identifier:1}}
{{view App.MyView identifier:2}}
我希望每个视图都向服务器查询特定资源,并从那里获取图表数据。我们说
/charts/1.json
/charts/2.json
但是这两个视图都有相同的控制器,继承自单一路径。
我不知道如何使用自己的数据集来支持每个视图......
我目前正在使用ember.js 1.0.0.rc6和ember-data 0.13以及ember-rails 0.12.0。
我在这里做得对吗?
答案 0 :(得分:0)
每次都可以使用{{control}}
帮助程序使用全新的控制器实例进行渲染。
然而,这可能不是你需要的。在我看来,您有/charts
路线,其中包含来自/charts/1..N.json
的图表数据。但是,您希望在不进入/charts/1..
路径的情况下显示各个图表。即: - 图表呈现在/charts
本身。
对此进行建模的一种方法是通过/charts
路线加载图表列表。 charts
模板会在#each
内或通过render
手动呈现图表。
如果您的/charts
api调用返回每个图表的数据,那么您就完成了,只需将chart
模板中的数据传递给自定义视图即可。
如果图表数据是独立的而不是/charts
的一部分,那么您需要在ChartController
中单独加载它,然后将其传递给自定义视图。
我用这个想法做了一个基本的jsbin。