小编Sid*_*cks的帖子

使用静态变量初始化的静态变量不会更新

如果我有一个静态变量(假设是 foo),其值从另一个静态变量继承,后来我更改了另一个静态变量的值,然后尝试访问 foo ,它仍然给出初始化时使用的旧值。

我有一个包含以下代码的文件endpoints.dart

class EndPoints {

  static String baseUrl = "someurl.com/";

  static String place = baseUrl + "api/v1/place";

}
Run Code Online (Sandbox Code Playgroud)

在这里,如果我更改任何其他文件中的baseUrl并像这样打印它

onPressed () {
 
 print(EndPoints.place);
 //prints someurl.com/api/v1/place

 EndPoint.baseUrl = "changedurl.com/";

 print("${EndPoints.baseUrl}");
 //prints changedurl.com/

 print("${EndPoints.place}");
  //still prints someurl.com/api/v1/place
}
Run Code Online (Sandbox Code Playgroud)

我担心的是为什么static String place = baseUrl + "api/v1/place" 不采用更新后的baseUrl值。

static-variables dart flutter

0
推荐指数
1
解决办法
1732
查看次数

标签 统计

dart ×1

flutter ×1

static-variables ×1