Angularjs 将参数传递给工厂中的资源以访问控制器中的信息
因此,我使用$resource建立了一个类似这样的工厂:Angularjs 将参数传递给工厂中的资源以访问控制器中的信息,angularjs,ngresource,Angularjs,Ngresource,因此,我使用$resource建立了一个类似这样的工厂: 'use strict'; angular.module('hscApp') /* ---------------------- Test- Using channel_id ------------------------ */ .factory('Data', function($resource){ return { retrieve: function() { param
'use strict';
angular.module('hscApp')
/* ----------------------
Test- Using channel_id
------------------------ */
.factory('Data', function($resource){
return {
retrieve: function() {
params = {
status: 'upcoming',
followed: 1,
reason: 1,
views: 1,
per_page: 2,
channel_id: 2165604
};
return $resource('/api/v1/channel_listings.json', params);
}
};
})
API的格式如下所示:
api/v1/channel_listings.json?status=upcoming&followed=1&reason=1&views=1&per_page=2&channel_id=2165604
我“认为”我的设置是正确的,但我不是很确定。目标是要将动态参数传递到此工厂(即通道id)。我将控制器设置为:
'use strict';
angular.module('hscApp')
/* main controller */
.controller('MainCtrl', function ($scope) {
$scope.$on('$viewContentLoaded', angularOnLoad);
})
.controller('TestCtrl', function(Data){
$scope.Data = Data.retrieve({
status: 'upcoming',
followed: 1,
reason: 1,
views: 1,
per_page: 2,
channel_id: 216560
});
Data.get(function(data){
$scope.upcomingEvents = data;
});
});
然后我试图通过执行{event.name}来显示JSON中的一个字段,但我得到的错误是数据未定义。我在这里做错了什么吗?首先,您必须在TestCtrl中插入
$scope
。。。我认为问题在于Data.get(函数(数据)行{
,它应该是$scope.Data.get
如果你想做我认为你想做的事情,我没有在那里注入scope的最新代码。这是更新的Fiddle。它似乎根本没有返回任何东西,所以我不确定我是否正确使用了params。