加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Angular 2 – 所有组件的全局变量

发布时间:2020-12-17 17:46:07 所属栏目:安全 来源:网络整理
导读:我的angular2应用程序在许多不同的组件中使用我的后端laravel API. 我一直在想,将来我需要更改API URL.这意味着我将不得不在任何地方(在所有组件中)更改我的API URL我已经使用http get / post方法到我的API. 现在..实现一个变量来存储API URL并在我的所有组
我的angular2应用程序在许多不同的组件中使用我的后端laravel API.
我一直在想,将来我需要更改API URL.这意味着我将不得不在任何地方(在所有组件中)更改我的API URL我已经使用http get / post方法到我的API.

现在..实现一个变量来存储API URL并在我的所有组件中使用它的正确方法是什么?

>仅用于设置获取API URL的服务
>我的每个API对象都有一个不同的服务,例如带有用户相关API调用的userAPI.service,用于人们重新发送的API调用的peopleAPI.service,用于游戏相关API调用的gameAPI.service等.
>还有什么不同我还不知道的?

解决方法

您可以通过扩展BaseRequestOptions类为此提供自己的请求选项.这样,Web API的基础URL将在一个位置定义:

import {BaseRequestOptions,RequestOptions,RequestOptionsArgs} from 'angular2/http';

export class CustomRequestOptions extends BaseRequestOptions {

  merge(options?:RequestOptionsArgs):RequestOptions {
    options.url = 'http://10.7.18.21:8080/api' + options.url;
    return super.merge(options);
  }

}

在使用Http对象的类中,您现在只需要使用路径而不是整个URL.这是一个示例:

this.http.get('/someresource')...

然后,您需要在引导应用程序时注册它.

bootstrap(AppComponent,[
  HTTP_PROVIDERS,provide(RequestOptions,{useClass: CustomRequestOptions})
]);

有关详细信息,请参阅此链接:

> http://restlet.com/blog/2016/04/12/interacting-efficiently-with-a-restful-service-with-angular2-and-rxjs-part-2/

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读