Я создал проект с использованием инфраструктуры SharePoint SPFX и добавил необходимые пакеты, необходимые для машинописного ввода Angular (6.0 или 7.0). Кажется, что Angular работает в моей веб-части spfx, но когда я пытаюсь создать сервис с использованием Angular, я не могу использовать методы, доступные в сервисе из файла component.ts. Хотя в проекте не отображаются ошибки, метод, объявленный в службе, становится неопределенным, когда я пытаюсь использовать его в файле component.ts
app.service.ts
import { Component, OnInit } from '@angular/core';
import { Injectable } from '@angular/core';
export interface IDataService {
getTitle(webUrl:string):string;
}
@Injectable()
export class SharePointService {
constructor() {}
public getTitle(webUrl:string):string {
return webUrl;
}
}
app.component.ts
import { Component, OnInit } from '@angular/core';
import {IWebPartContext} from '@microsoft/sp-webpart-base';
import { IDataService } from './app.service';
@Component({
selector: 'my-spfx-app',
template: `<h3>Welcome to SPFx {{name}}!!</h3><p>{{serviceProp}}</p>`
})
export class AppComponent implements OnInit {
public name: string = '';
public context:IWebPartContext;
public serviceProp:string = "";
constructor(private dataService: IDataService){
}
public ngOnInit() {
this.context= window["webPartContext"];
this.name= this.context.pageContext.user.displayName;
this.serviceProp = this.dataService.getTitle("Angular Service Testing");
}
}
выход
Добро пожаловать в SPFx User1
Данные не поступают в переменную serviceProp
. Пожалуйста, помогите нам