我正在尝试创建一个带有$ scope的函数,并使用方法' telegraph'将其附加。问题是,$ scope采用方法"标记"不用参数替换它。 因此,而不是阅读" $ scope.telegraph"它以" $ scope.tag"
运行function httpRequest(url,tag){
$http({
method: 'JSONP',
url: "http://ajax.googleapis.com/ajax/services/feed/load?v=1.0&num=10&q="+url+"&callback=JSON_CALLBACK"
}).success(function(data, status, headers, config) {
// data contains the response
$scope.tag = data.responseData.feed.entries;
console.log(tag);
}).error(function(data, status, headers, config) {
});
}
httpRequest('http://www.telegraph.co.uk/news/uknews/rss','telegraph');{}
答案 0 :(得分:0)
好吧,我想,您想要将$ scope.telegraph(例如标签)的值设置为您从通话中获得的响应;它应该是这样的:
$scope[tag] = data.responseData.feed.entries;
答案 1 :(得分:0)
在JavaScript中,someObj.someProp
相当于someObj['someProp']
(即访问该媒体资源)
someProp
引用的对象的someObj
。
在您的情况下,$scope.tag
相当于$scope['tag']
,即访问名为tag
的属性(这不是您想要的)。
您需要使用数组表示法:
$scope[tag] = data.responseData.feed.entries;
<子>
这会将tag
用作变量(保持字符串telegraph
),将不用作字符串tag
。
因此它相当于$scope[tag] --> $scope['telegraph'] --> $scope.telegraph
。
子>