8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

为 JavaScript 字典分配动态值

BigBen 2月前

111 0

我需要将动态值分配给 JavaScript 字典以用于 echarts,但是在将动态值分配给字典时,它显示的行为与分配 s 相比有所不同......

我需要将动态值分配给 JavaScript 字典以用于 echarts,但是当将动态值分配给字典时,它显示的行为与分配静态值不同。

分配静态值时:

     response = {
            "stacks": {"5G_L2": [{"Open": "43"},{"Close": "24"}],
                       "5G_L3": [{"Open": "12"},{"Close": "2"}]
                      }
                  }; 

调试窗口显示如下:

enter image description here

而当动态分配值时,如下所示:

            var datastck=[];
            var serverdata = '{{ barCdata | tojson }}';
            resPbar = $.parseJSON(serverdata);

            $.each(resPbar, function (i, item) {
              var di={};
              di[item.Team]=[{"Open": item.Open},{"Close": item.Close}];
              datastck.push(di);
            });

            
          response = {
            "stacks": datastck
                  };

调试窗口如下:

enter image description here

它添加了一个额外的数组层。我需要有静态分配结构来支持 echarts,请有人提供建议?

提前致谢。

帖子版权声明 1、本帖标题:为 JavaScript 字典分配动态值
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由BigBen在本站《dictionary》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 我正在使用 bUnit 测试 Blazor 组件,但是在尝试模拟组件中的以下注入依赖项时遇到困难... [注入] public ILocalStorageService LocalStorage { ge...

    我正在使用 bUnit 测试 Blazor 组件,但是在尝试模拟组件中以下注入的依赖项时遇到了困难……

      [Inject]
      public ILocalStorageService LocalStorage { get; set; } = null!;
    

    我创建被测组件实例的基本代码是......

    TestComponentSender cut = RenderComponent<TestComponentSender>(ps => ps
        .Add(p => p.NotificationHelper, new TestNotificationHelper())
    ).Instance;
    

    我无法像使用 Add 那样使用该方法 NotificationHelper ,因为注入的是本地存储属性,而不是参数。

    我尝试在上面的代码之前添加以下行......

    Services.AddScoped<ILocalStorageService>();
    

    ...但是在运行测试时会出现异常......

    无法实例化服务类型“Blazored.LocalStorage.ILocalStorageService”的实现类型“Blazored.LocalStorage.ILocalStorageService”

    我尝试引用 NSubstitute Nuget 包,并在创建组件后添加以下行...

    cut.LocalStorage = Substitute.For<ILocalStorageService>();
    

    ...但这给出了一个不同的例外......

    无法为类型“InspiredGiving.Crm.Areas.General.Shared.TestComponentSender”上的属性“LocalStorage”提供值。没有类型为“Blazored.LocalStorage.ILocalStorageService”的注册服务。

    有人能告诉我如何模拟这种注入的依赖关系吗?

    更新 根据 Egil 的回答,我安装了 bUnit 测试包,并做了一些与 GitHub 页面上的代码类似的事情……

    TestComponentSender cut = RenderComponent<TestComponentSender>(ps => ps
      .Add(p => p.NotificationHelper, new TestNotificationHelper())
    ).Instance;
    cut.LocalStorage = this.AddBlazoredLocalStorage();
    

    然而,这却出现了例外……

    System.InvalidOperationException:无法为类型“InspiredGiving.Crm.Areas.General.Shared.TestComponentSender”上的属性“LocalStorage”提供值。没有类型为“Blazored.LocalStorage.ILocalStorageService”的注册服务

    我尝试使用罗伯特哈维在他的评论中展示的方法......

    Services.AddScoped<ILocalStorageService>(_ => this.AddBlazoredLocalStorage());
    
    

    ...但遇到了同样的异常。

返回
作者最近主题: