Angular2 EXCEPTION 没有字符串的提供者 [英] Angular2 EXCEPTION No provider for String

查看:17
本文介绍了Angular2 EXCEPTION 没有字符串的提供者的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

I've got a brand new app create with a ng-cli with this very simple code ^^

import { Component } from '@angular/core';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {
  constructor(private my: string) {}
} 

and I've got in the console

EXCEPTION: No provider for String!

I don't see any error in the code so what's wrong !

In ng-book I can read

export class Article { 
  title: string; 
  link: string; 
  votes: number;
  constructor(title: string, link: string, votes?: number) { 
    this.title = title;
    this.link = link;
    this.votes = votes || 0;
  }
}

Take a look at

https://github.com/Microsoft/TypeScriptSamples/blob/master/greeter/greeter.ts

解决方案

Error in constructor:

export class AppComponent {
  constructor(private my: string) {}
} 

private my: string should not be injected in the constructor, but outside, here assuming it's a variable you want to use in your component.

export class AppComponent {
  private my: string;
  constructor() {
    this.my = 'Hello!'; // if you want to assign a value (in the constructor) to your string, do it here!
  }
} 

I suggest you start of with the Tutorial from the beginning, so you learn the basics of Angular :)

EDIT, the latter part you added is a class e.g for typing your object, not a component, for a typed Object of class Article, this is valid syntax:

export class Article { 
  title: string; 
  link: string; 
  votes: number;
  constructor(title: string, link: string, votes?: number) { 
    this.title = title;
    this.link = link;
    this.votes = votes || 0;
  }
}

Then you can import this class to your AppComponent, and use to assign an Article object.

import { Component } from '@angular/core';
import { Article } from './your.path'

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {

  article: Article = new Article('titleHere', 'linkHere', 3)

  constructor() {}
}

这篇关于Angular2 EXCEPTION 没有字符串的提供者的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆