我在TypeScript news.component.ts 中使用AngularJS组件调用 google.service.ts 以通过某些将XML转换为JSON的服务获取新闻RSS(不是重要)。
所以我在NewsComponent中有这个方法:
getNewsHeadlines(): any {
this.googleService.getNewsHeadlines().then(headlines => {
this.newsHeadlines = headlines;
this.$scope.$apply();
});
return;
}
我为每个新闻项目定义了这个模型:
export interface NewsHeadline {
title: string;
content: string;
description: string;
link: string;
}
我在GoogleService服务中使用此方法:
getNewsHeadlines() {
const feed = 'http://rss.newsru.com/top/big/';
const url = 'https://api.rss2json.com/v1/api.json?rss_url=' + encodeURIComponent(feed);
return this.$http.get(url).then((response: any) => {
let items = response.data.items;
let results = items.map(result => {
let newsHeadline: NewsHeadline = {
title: 'string',
content: 'string',
description: 'string',
link: 'string'
};
return newsHeadline;
});
return this.$q.all(results);
});
};
为什么我一直在Chrome控制台中收到这些错误消息?
GoogleService中的getNewsHeadlines方法是否写得正确?
这是什么意思,当我点击错误链接时,会有大量人为无法读取的垃圾,但无法解释任何事情。
答案 0 :(得分:0)
您的方法不需要$ scope. $$适用。它由httpservice处理,角度上下文也是如此。
这应该是这样的:
getNewsHeadlines(): any {
this.googleService.getNewsHeadlines().then(headlines => {
this.newsHeadlines = headlines;
});
return;
}