zoukankan      html  css  js  c++  java
  • angularJS 数组更新时重新排序之解决方案一:这个坑,绕开吧,不跳了……

    今天产品大人发现了一bug,图表数据和数据库总是对不上,原因是当前端更新数组时,angularJS默认对数组进行了排序。

    1 // 点击事件:input复选框
    2     $scope.fnClickUpdateAreas = function ($event,areaCode,areaName) {
    3         if ($event.target.checked) {
    4             $scope.areaCodes.push(areaCode);
    5             $scope.areaNames.push(areaName);
    6         }
    7     }
    查看代码

    当再次更新areaCodes和areaNames时,发现areaCodes自动排序了,和areaNames无法一一对应了,原因很简单,areaCodes是数字,而areaNames是文字。一直在找怎么阻止angularJS自动排序的方案,结果没找到,结果只能用以下办法解决了:

     1 // 点击事件:input复选框
     2     $scope.fnClickUpdateAreas = function ($event,areaCode,areaName) {
     3         // 更新service中的地区代码数组
     4         if ($event.target.checked) {
     5             $scope.areas.push(
     6                 {
     7                     'name': areaName,
     8                     'code': areaCode
     9                 }
    10             );
    11         }
    12 
    13         service.areaCodes = [];
    14         service.areaNames = [];
    15         for (var i = 0; i < $scope.areas.length; i++) {
    16             service.areaCodes.push($scope.areas[i].code);
    17              service.areaNames.push($scope.areas[i].name);
    18 
    19         }
    20     }
    查看代码
  • 相关阅读:
    学习Easyui
    JS链表
    Javascript数组
    布局管理器(转)
    JCombobox组合框效果实现(转)
    JComboBox
    java.lang.ClassFormatError
    JSplitPane demo
    USB OTG简单介绍
    Cookie/Session机制具体解释
  • 原文地址:https://www.cnblogs.com/fydxx/p/6004228.html
Copyright © 2011-2022 走看看