无法在angular2中导入服务

时间:2016-03-10 00:35:05

标签: angular angular2-services

我正在努力在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');
  }
}

2 个答案:

答案 0 :(得分:3)

你必须告诉你的构造函数它是什么类型的服务。例如&#34; public&#34;或者&#34;私人&#34;。

from django.apps import apps
model = apps.get_model('app_name', 'model_name')

这基本上是什么可以看到这个服务,只能这个类看到这个服务?如果是私有,否则公开。

答案 1 :(得分:1)

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

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());
  }

}