Javascript 将变量值传递给app.component的角度服务

Javascript 将变量值传递给app.component的角度服务,javascript,angular,Javascript,Angular,我有一个服务,其中包含一个名为url的变量 代码如下: //service.ts import { Injectable } from '@angular/core'; import { Http, Response } from '@angular/http'; import { Observable } from 'rxjs/Observable'; import 'rxjs/add/operator/map'; import 'rxjs/add/operator/do'; impor

我有一个服务,其中包含一个名为url的变量

代码如下:

//service.ts

import { Injectable } from '@angular/core';
import { Http, Response } from '@angular/http';
import { Observable } from 'rxjs/Observable';
import  'rxjs/add/operator/map';
import  'rxjs/add/operator/do';
import  'rxjs/add/operator/catch';

@Injectable()
export class DataService {

  private url = 'http://someurl.com/';

  constructor (private _http:Http){}

  getDataHttp():Observable<any> {
    return this._http.get(this.url)
      .map((response: Response) => <any> response.json())
      .do(data => console.log('All: ' +  JSON.stringify(data)))
      .catch(this.handleError);
  }

  private handleError(error: Response) {
    console.error(error);
    return Observable.throw(error.json().error || 'Server error');
  }

}
//service.ts
从“@angular/core”导入{Injectable};
从'@angular/Http'导入{Http,Response};
从“rxjs/Observable”导入{Observable};
导入'rxjs/add/operator/map';
导入'rxjs/add/operator/do';
导入“rxjs/add/operator/catch”;
@可注射()
导出类数据服务{
专用url=http://someurl.com/';
构造函数(私有http:http){}
getDataHttp():可观察{
返回此。\u http.get(this.url)
.map((response:response)=>response.json())
.do(data=>console.log('All:'+JSON.stringify(data)))
.接住(这个.把手错误);
}
私有句柄错误(错误:响应){
控制台错误(error);
返回Observable.throw(error.json().error | |'Server error');
}
}
下面是我要从服务调用url变量的文件:

// app.component.ts

import { Component, OnInit } from '@angular/core';
import { DataService } from './data.service';

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

  errorMessage;
  data;

  constructor(private service:DataService)  {}

  ngOnInit() {
    this.service.getDataHttp()
      .subscribe(data => this.data = data,
        error => this.errorMessage = <any>error);

  }


}
//app.component.ts
从“@angular/core”导入{Component,OnInit};
从“./data.service”导入{DataService};
@组成部分({
选择器:'应用程序根',
templateUrl:“./app.component.html”,
样式URL:['./app.component.css']
})
导出类AppComponent实现OnInit{
错误信息;
数据;
构造函数(私有服务:数据服务){}
恩戈尼尼特(){
this.service.getDataHttp()
.subscribe(data=>this.data=data,
error=>this.errorMessage=error);
}
}

我的问题是。。。如何将url值从service.ts传递到app.component.ts?

例如,将getter/setter方法添加到
DataService

public getUrl(){
    return this.url;
}

public setUrl(url:string){
    this.url = url;
    return this.url;
}
然后从
AppComponent
中这样调用它们:

let url = this.service.getUrl();
要检索该值,请执行以下操作:

this.service.setUrl(another_url);

设置它。

创建getter和setter。