角度2:不是一个功能,但它存在

时间:2016-11-20 20:20:43

标签: angular typescript

我试图从一个不同的类中获取一个数组,但他说该函数不存在。 这是我的代码:

courses.component.ts

import {Component} from 'angular2/core'
import {CourseService} from './course.service'

@Component({
    selector: 'courses',
    template: `
        <h2>Courses</h2>
        {{ title }}
        <ul>
            <li *ngFor ="#course of courses">
            {{course}}
            </li>
        </ul>
        `,
    providers: [CourseService]
})
export class CoursesComponent{
    title = "The title of courses page";
    courses;

    constructor(courseService: CourseService){
        this.courses = CourseService.getCourses();
    }
}

course.service.ts

export class CourseService{
    getCourses() : string[]{
        return ["Course1","Course2","Course3"];
    }
}

3 个答案:

答案 0 :(得分:6)

您需要引用参数名称,而不是参数类型

 this.courses = courseService.getCourses();
                ^ lower case c

答案 1 :(得分:1)

我认为这是一种错误,因为TypeScript认出了我的方法,但是当我删除并在组件中再次输入getCourses()方法时,它说找不到该方法,那么我去服务并开始删除空行,方法Works。我目前正在使用Angular 4

答案 2 :(得分:1)

我有同样令人费解的问题。我从网上复制并粘贴代码,但在函数声明中一定不能正确。我删除了这行

getCourses(): string[] {

然后再手动输入。当我运行代码时,它工作。也许有一些看不见的角色被粘贴并搞砸了Typescript?谁知道呢。