为什么我在AngularJS(TypeScript)组件中出现这些错误?

时间:2017-09-08 17:09:36

标签: angularjs typescript

我在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方法是否写得正确?

enter image description here

这是什么意思,当我点击错误链接时,会有大量人为无法读取的垃圾,但无法解释任何事情。

1 个答案:

答案 0 :(得分:0)

您的方法不需要$ scope. $$适用。它由httpservice处理,角度上下文也是如此。

这应该是这样的:

getNewsHeadlines(): any {
    this.googleService.getNewsHeadlines().then(headlines => {
        this.newsHeadlines = headlines;
    });
    return;
}