【发布时间】:2016-02-15 13:33:05
【问题描述】:
我正在尝试使用可以分配给作用域角度变量的工厂。但是,每当我尝试附加它并使用 console.log 返回此变量时,我都会以文本而不是值的形式返回函数。有没有办法解决这个问题?
========== JS ==========
annApp.factory('rssFeed', function()
{
return function()
{
var events = [];
$.get('xmlfile',
function(xml)
{
var json = $.xml2json(xml);
jsonb = JSON.stringify(json, undefined, 3 );
// var events = [];
var description = json['#document']['rss']['channel']['item']['description'];
var title = json['#document']['rss']['channel']['item']['title'];
var date = json['#document']['rss']['channel']['item']['pubDate'];
events.push({'title': title, 'description':description, 'date': date});
return events;
});
return events;
}
annApp.controller('calendar', ['$scope', 'rssFeed', function($scope, rssFeed){
$scope.events = rssFeed;
console.log($scope.events);
}]);
【问题讨论】:
-
您只是想调用 rssFeed 工厂并将其记录到控制台吗?在这种情况下,您需要调用函数
console.log($scope.events());另外,我相信return events;之后的行应该是};}); -
这是一个正确返回函数的小提琴:jsfiddle.net/HB7LU/19871
标签: javascript angularjs