Je suis nouveau à angulaire. J'ai créé une application WebApplication en utilisant VS2015 et les derniers packages angulaires. Lorsque j'essaie d'appeler mon service à partir de la composante sur le bouton Cliquez sur l'événement, je reçois ci-dessous une erreur dans la fenêtre de la console de navigateur.
Erreur: - P>
{
"name": "angular-quickstart",
"version": "1.0.0",
"description": "QuickStart package.json from the documentation, supplemented with testing support",
"scripts": {
"build": "tsc -p src/",
"build:watch": "tsc -p src/ -w",
"build:e2e": "tsc -p e2e/",
"serve": "lite-server -c=bs-config.json",
"serve:e2e": "lite-server -c=bs-config.e2e.json",
"prestart": "npm run build",
"start": "concurrently \"npm run build:watch\" \"npm run serve\"",
"pree2e": "npm run build:e2e",
"e2e": "concurrently \"npm run serve:e2e\" \"npm run protractor\" --kill-others --success first",
"preprotractor": "webdriver-manager update",
"protractor": "protractor protractor.config.js",
"pretest": "npm run build",
"test": "concurrently \"npm run build:watch\" \"karma start karma.conf.js\"",
"pretest:once": "npm run build",
"test:once": "karma start karma.conf.js --single-run",
"lint": "tslint ./src/**/*.ts -t verbose"
},
"keywords": [],
"author": "",
"license": "MIT",
"dependencies": {
"@angular/common": "~5.0.3",
"@angular/compiler": "~5.0.3",
"@angular/core": "~5.0.3",
"@angular/forms": "~5.0.3",
"@angular/http": "~5.0.3",
"@angular/platform-browser": "~5.0.3",
"@angular/platform-browser-dynamic": "~5.0.3",
"@angular/router": "~5.0.3",
"angular-in-memory-web-api": "~0.5.1",
"bootstrap": "^3.3.7",
"core-js": "^2.4.1",
"ngx-modialog": "^5.0.0",
"rxjs": "5.5.2",
"systemjs": "0.20.19",
"zone.js": "^0.8.4"
},
"devDependencies": {
"concurrently": "^3.2.0",
"lite-server": "^2.2.2",
"typescript": "~2.6.1",
"canonical-path": "0.0.2",
"tslint": "^5.8.0",
"lodash": "^4.16.4",
"jasmine-core": "~2.8.0",
"karma": "^1.3.0",
"karma-chrome-launcher": "^2.0.0",
"karma-cli": "^1.0.1",
"karma-jasmine": "^1.0.2",
"karma-jasmine-html-reporter": "^0.2.2",
"protractor": "~5.2.0",
"rimraf": "^2.5.4",
"@types/node": "^8.0.53",
"@types/jasmine": "2.8.2"
},
"repository": {}
}
5 Réponses :
Regardez vos représentants
exporttopdf.component.ts strong> puisque On dirait que vous importateur. modules p> alors choisissez une seule option pour importer votre service p> SystemJs code> est sensible à la casse (voir L'instance de service n'est pas disponible pour les composants enfants en Angular2 ) p> import { ViewCountService } from '../Service/viewsCount.component';
^
instead of V
Cela ne semble pas encore être résolu: https://github.com/angular/angulaire/issues/20339
En tant que travail autour, essayez de faire tous vos fonctions code> constructeur code> sans paramètres en extrayant les propriétés en tant que propriétés. P>
exportTOPDFComponent: p>
import { Injectable } from '@angular/core';
import { Http } from '@angular/http';
import { Observable } from 'rxjs/Rx';
@Injectable()
export class ViewCountService {
private http: Http;
constructor() {
}
getViewCount() {
return this.http.get('api/Tableau/GetViewsCount')
.map(response => response.json() as string).toPromise();
}
getDataObservable(url: string) {
return this.http.get('api/Tableau/GetViewsCount')
.map(data => {
data.json();
console.log("I CAN SEE DATA HERE: ", data.json());
});
}
}
Si vous utilisez Angular 4.3+ jusqu'à 5, vous devez importer httpClient dans votre application.Module à partir de la nouvelle bibliothèque dans votre service: p> getViewCount(): void {
this.ViewCountService.getViewCount()
.subscribe(
data =>{console.log(data);//your data},
err=>{console.log(err);},
() => {console.log("Done loading");}
);
}
import { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';
imports: [
BrowserModule,
FormsModule,
HttpClientModule,
routing
],
add this into your app.module.ts file
Je faisais face au même problème que j'ai ajouté ci-dessous ligne dans App.Module et cela a fonctionné pour moi. et ajoutez-le au P> @NgModule({ imports: [ ..., HttpClientModule,... ]
Essayez d'importer la vueCountService dans ExportTopDF.component.ts Composante
@rohankangale, je l'ai déjà fait. Mais ça ne marche pas.
Veuillez l'ajouter en tant que fournisseur dans le composant. Ce n'est pas ajouté.
@rohankangale, merci après avoir ajouté un fournisseur, il fonctionne maintenant. Mais maintenant je suis coincé avec une autre erreur "TypeError: this.http.get (...). La carte n'est pas une fonction" Avez-vous une idée à ce sujet?
Essayez d'utiliser .Chen (), au lieu de .map ().