Angular 6错误TS1135:应使用参数表达式

时间:2018-07-05 14:23:10

标签: angular mean-stack

我正在跟踪有关如何通过以下链接构建MEAN堆栈的教程:https://www.youtube.com/watch?v=wtIvu085uU0,但是我仍然坚持在59:34左右创建角度部分。本教程使用angular2,而我使用angular6。阻碍我前进的主要部分是contact.service.ts,并使addContacts,getContacts和deleteContact方法能够正常工作,因为.map方法自从angular 2开始就发生了变化。我将他的代码从以下位置更改:

getContacts() {
    return this.http.get('http://localhost:3000/api/contacts')
        .map(res => res.json());
}

返回“类型为“可观察”的属性“地图”不存在”的错误

getContacts() {
    return this.http.get('http://localhost:3000/api/contacts')
        .pipe(
            .map(res => res.json())
        );
}

现在返回“ src / app / contact.service.ts(17,7)中的错误:错误TS1135:期望参数表达式。”在控制台中 我想我已经克服了地图错误,但是我不知道Argument表达式预期的错误是什么意思。在将地图更改为管道之前和之后,其他两种方法都存在相同的问题。 现在,它不会编译并显示视频中显示的“联系人工作”页面,该页面位于1:03:37。控制台在其他类中没有显示其他错误,因此我认为这是唯一的错误。

2 个答案:

答案 0 :(得分:7)

重新格式化代码后,答案显而易见。致电.之前,您有一个错误的map()

getContacts() {
    return this.http.get('http://localhost:3000/api/contacts')
        .pipe(
            .map(res => res.json())
         // ^ remove this period
        );
}

答案 1 :(得分:0)

无论Sean说了什么,您都必须导入map运算符: import {map} from 'rxjs/operators'; 在文件的开头