为什么ngOnInit中的getData方法显示错误

时间:2017-09-20 08:18:58

标签: angular

我向ngOnInit添加了一个方法,它正在抛出错误 1.找不到名称getData 2.Missing Semicolon

为什么会显示错误。

    import { Injectable, OnInit } from '@angular/core';
        
        @Injectable()
        export class DataService implements OnInit {
          data: {}[] = [
            {
              name: 'John Doe',
              email: 'johndoe@example.com'
            },
            {
              name: 'Jane Doe',
              email: 'janedoe@example.com'
            },
            {
              name: 'Mary Doe',
              email: 'marydoe@example.com'
            }
          ];
          constructor() { }
        
          ngOnInit() {
        
            getData() {
              return this.data;
            }
        
          }
        }

1 个答案:

答案 0 :(得分:2)

您在服务中不使用ngOnInit。它仅适用于组件。服务只是es6类,在其依赖注入系统中使用了一些魔法角色。

import { Injectable, OnInit } from '@angular/core';

    @Injectable()
    export class DataService {
      data: {}[] = [
        {
          name: 'John Doe',
          email: 'johndoe@example.com'
        },
        {
          name: 'Jane Doe',
          email: 'janedoe@example.com'
        },
        {
          name: 'Mary Doe',
          email: 'marydoe@example.com'
        }
      ];
      constructor() { }



      getData() {
        return this.data;
      }


    }