Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在dart中访问嵌套字典?_Dart_Flutter - Fatal编程技术网

如何在dart中访问嵌套字典?

如何在dart中访问嵌套字典?,dart,flutter,Dart,Flutter,我有以下代码: class Dev { static final config = const { 'endpoints': const { 'signIn': '/v1/auth/sign_in', }, 'apiBaseUrl': 'localhost:3000' }; } 我试图访问config变量中的signIn属性,当我配置['endpoints']时,它会正确地访问该属性,但当我尝试时

我有以下代码:

 class Dev {
     static final config = const {
       'endpoints': const {
         'signIn': '/v1/auth/sign_in',
       },
       'apiBaseUrl': 'localhost:3000'
     };
    }   
我试图访问config变量中的signIn属性,当我配置['endpoints']时,它会正确地访问该属性,但当我尝试时

var signInEndpoint = config['endpoints']['signIn'];
它不起作用,当我尝试时也是一样

var endpoints = config['endpoints'];
var signInEndpoint = endpoints['signIn'];

如何才能正确访问变量中的signIn属性?请提前感谢。

这是因为
端点
值是
对象
而不是
动态
,请尝试以下操作:

var signInEndpoint = (Dev.config['endpoints'] as dynamic)['signIn'];

@Juan你试过两种方法知道吗

  • 可根据@diegoveloper的建议进行修复

  • 可以像

    Map endpoints = config['endpoints']; //Map<String, String> will be much better
    var signInEndpoint = endpoints['signIn'];
    
    还是像这样

    class Dev {
    
      static final Map<String, String> endpoints = const {
        'signIn': '/v1/auth/sign_in',
      };
      static final Map<String, String> config = const {
        'baseUrl': 'localhost:3000',
        'other': 'others'
      };
    }
    var signInEndpoint = Dev.endpoints['signIn']
    
    classdev{
    静态最终映射端点=常量{
    “登录”:“/v1/auth/sign_in”,
    };
    静态最终映射配置=const{
    'baseUrl':'localhost:3000',
    “其他人”:“其他人”
    };
    }
    var signInEndpoint=Dev.endpoints['signIn']
    
    非常感谢,这给了我更多的选择,我想我将使用您给我的第二种方法。很高兴它帮助了您
    Map endpoints = config['endpoints']; //Map<String, String> will be much better
    var signInEndpoint = endpoints['signIn'];
    
    class Dev {
      static final Map<String, Map<String, String>> config = const {
        'endpoints': const {
          'signIn': '/v1/auth/sign_in',
          'apiBaseUrl': 'localhost:3000'
        },
      };
    }
    var signInEndpoint = Dev.config['endpoints']['signIn'] //will work
    
    class Dev {
    
      static final Map<String, String> endpoints = const {
        'signIn': '/v1/auth/sign_in',
      };
      static final Map<String, String> config = const {
        'baseUrl': 'localhost:3000',
        'other': 'others'
      };
    }
    var signInEndpoint = Dev.endpoints['signIn']