通过$ routeProvider将数据传递给视图的控制器

时间:2014-11-04 19:09:42

标签: angularjs

我有一个视图,/views/chart.html链接到控制器SinglechartCtrl,我想将一些数据传递给控制器​​,以允许它开始绘制正确的内容。上下文是会有很多页面上有非常相似的图表,当它们的功能非常相似时,为每个页面创建新的视图/控制器似乎很愚蠢。

我有一个服务chartManifest,其中包含一个JSON对象,用于映射图表详细信息,用于收集数据的API端点,类别结构等,我希望通过{插入一些指向此数据的链接{1}}。作为伪代码:

$routeProvider

然后使用传递给... .when('/ios/installs', { templateUrl: 'views/chart.html', controller: 'SinglechartCtrl'. metaData: { category: 'ios', name: 'installs } }) ... 的元数据查询chartManifest服务,我们可以从那里绘制图表。 SinglechartCtrl服务中对象的摘录是:

chartManifest

我很欣赏这可能是一种完全不正确的处理方式(我对Angular来说很新),但是对于每个非常相似的图表来说,它似乎比新视图/控制器更接近解决方案。显然$scope.charts = { "ios": { "installs": { "type": "line", "endpoint": "api/thing" }, "activeusers": { "type": "bar", "endpoint": "api/thing" } } } 并不是真实的,但希望这可以解释我想要实现的目标。一个想法涉及使用metaData上的resolve属性,但这是插入依赖项,而不仅仅是少量数据。

0 个答案:

没有答案