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;
}
}
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() {}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With