【发布时间】:2013-11-19 02:57:26
【问题描述】:
我正在尝试在 Angular 中创建一个工厂,它采用编码的 URL 并返回一个缩短的 bit.ly 链接。该代码在控制器中工作,但是当我尝试将相同的代码放入工厂时,我无法让它返回链接。这是我的工厂:
myAppModule.factory('BitlyBuilder', function($http){
return {
buildBitlyUrl: function(link1){
$http({ method: 'GET', url: 'https://api-ssl.bitly.com/v3/shorten?access_token=mytokenhere&longUrl='+link1}).
success(function (data, status, headers, config) {
return data.data.url;})
.error(function (data, status, headers, config) {
console.log('bit.ly failed us');
});
}
}});
现在这是我用来调用工厂服务的控制器中的代码:
var encodedLink = encodeURIComponent($scope.feed1.feedlink);
$scope.shortURL = function (encodedLink) {
return BitlyBuilder.buildBitlyUrl(encodedLink);
}
console.log($scope.shortURL);
我在 console.log 时得到的是:
function (encodedLink) {
return BitlyBuilder.buildBitlyUrl(encodedLink);
}
我确定这很简单,但我不太明白。提前感谢您的帮助...
【问题讨论】: