首页 > 解决方案 > 如何在角度/打字稿中声明变量

问题描述

我是 Angular/Typescript 的新手,所以我尝试了一个教程,当他创建服务时,他将 url 设置如下

 baseUrl = 'https://localhost:44351/api/member/';

我之前读过 Typescritpt 中的变量是用 var 和 let 声明的,所以当我厌倦了将代码更新为:

  var baseUrl = "https://localhost:44351/api/member/";

它给了我一个错误编译,这不是我们应该如何声明变量吗?

标签: angulartypescript

解决方案


既然你说你正在尝试创建一个服务,我假设你在一个类中定义这个变量。

声明类范围的变量(称为属性)时,您不需要let关键字。相反,您想将其定义为private,publicprotected

在你的情况下,我觉得一个private变量会更合适。在这种情况下,你可以做一些事情。

export class MyService {
   private baseUrl = 'https://localhost:44351/api/member/';
   /* ... */
}

this然后,您可以在服务函数中使用关键字访问此变量。

export class MyService {
   private baseUrl = 'https://localhost:44351/api/member/';
   /* ... */

   public getTheBaseUrl(): any {
     return this.baseUrl;
   }
}

在这里,我使用了一个 getter 来演示,但是您可以使用相同的语法来调用例如 XmlHTTPRequest。

此外,由于这是一个 url 并且不太可能更改,因此您可以使用关键字readonly来防止它在代码中的其他地方被更改。

export class MyService {
   private readonly baseUrl = 'https://localhost:44351/api/member/';
   /* ... */

   public getTheBaseUrl(): any {
     return this.baseUrl;
   }
}

推荐阅读