Как динамически установить свойства сервиса в угловых? - PullRequest
0 голосов
/ 02 апреля 2019

Я использую Angular 7, и у меня есть такой сервис:

@Injectable({
 providedIn: 'root'
})
export class InMemoryDataService implements InMemoryDbService {

 private variable: Variable[];
 url = 'http://127.0.0.1:4000/api/variable'; //I want make this as parameter when I initialize the service.
 async createDb() {
 if (this.variable.length > 0) {
  return this.variable;
 } else {
  this.variable = await this.getdata();
 }
 }

 async getdata() {
  return await axios.get(this.url).then(res => res.data)
  .catch(err => { console.log(err); return []; });
 }

  constructor() {
  }
}

Я хочу изменить URL в файле конфигурации или config.js и прочитать этот файл конфигурации, чтобы изменить путь URL:

как я хочу изменить:

constructor(private url: string){
}

как установить в Angular7 и зарегистрировать эту служебную переменную в Angular framework?

1 Ответ

0 голосов
/ 02 апреля 2019

Если я правильно понял, вы хотите отправить данные от компонента к сервису и установить его в переменную.

вы можете внедрить свой сервис в свой компонент следующим образом

import { CommonService } from './../common.service';
constructor(public commonService:CommonService ){}

и создать функцию - это ваша служба, для которой требуется параметр

public myvar:any;
setData(param){
    this.myvar  = param;
}

и вызывать его из компонента как

this.commonService.setData("parameter");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...