无法在angular2中导入服务

Unable to import service in angular2

我正在努力在 angular2 中导入一个简单的服务。请帮我解决这个问题。我知道我错过了一些非常简单但找不到的东西。 提前致谢

http://plnkr.co/edit/Yrh9gC8BMZdtUwy947Za?p=preview

//our root app component
import {Component, OnInit} from 'angular2/core'
import {DataService} from './app.service'

@Component({
  selector: 'my-app',
  providers: [DataService],
  template: `
    <div>
      <h2>Hello {{name}}</h2>

    </div>
  `,

})
export class App implements OnInit{
  constructor(service: DataService) {
    this.name = 'Angular2'
  }

  ngOnInit(){
    console.log(this.service) // prints Undefined here
   this.name = this.service.setName('test');
  }
}

我不知道这个,笨蛋,是不是你要找的,

Plunker

如果是这样你可以改变

import {Component, OnInit} from 'angular2/core'
import {DataService} from './app.service'

@Component({
  selector: 'my-app',
  providers: [DataService],
  template: `
    <div>
      <h2>Hello {{name}}</h2>
      
    </div>
  `,
  
})
export class App implements OnInit{
  constructor(public service: DataService) {
    this.name = 'Angular2'
  }

  ngOnInit(){
    
    this.service.setName('test');
    this.name = this.service.getName();
    
    console.log(this.service.getName());
  }

}

你必须告诉你的构造函数它是什么类型的服务。例如 "public" 或 "private".

constructor(public service: DataService) {
    this.name = 'Angular2'
  }

这本质上就是,什么能看到这个服务,只能这个class看到这个服务?如果是,则执行 private,否则执行 public.