用角形材料中的芯片重复重复

时间:2017-03-16 06:49:33

标签: angularjs angular-material

我试图使用md-chips来收集用户自动完成的输入。例如:价格,可用,Y,N。每个组件将在芯片中呈现。每行将有多个来自用户的输入。当我提交表格时,我需要用户输入的每行所有芯片。这就是我面临问题的地方。

::ERR_TOO_MANY_REDIRECTS

上面的代码可以正常工作,因为我的模型只是selectheader而在js中 $ scope.selectedHeaders = []; 我应该如何使用它来进行rule.selectheader?如果我将我的模型更改为rule.selectheader,则会将此错误抛出

无法设置属性' selectedHeaders'未定义的。 解决这个问题的任何指针都会得到很多应用。如果问题不明确,请询问

2 个答案:

答案 0 :(得分:0)

您是否定义了规则值?

在js中,至少规则的值必须是这样的

var rules = [{
    selectedHeaders: ['Apple', 'Orange']
}, {
    selectedHeaders: ['Banana']
}];

答案 1 :(得分:0)

你可以这样做

Js代码

var unordered = {
  "objectid": "589a399724bd631d0424265a",
  "mappingerrors": [

  ],
  "timestamp": "UCT",
  "models": [{
    "models4": "589a399724bd631d01234567",
    "models1": "AAAA",
    "models3": "244",
    "models5": "7ee92c958a051e66f19d6561575c5642",
    "models2": "01945610",
    "values": [{
      "11": "YYYY",
      "1": "A",
      "9": "B",
      "5": "XXXX",
      "3": 2,
      "10": 239.804,
      "6": "C",
      "2": "D",
      "4": "2017-02-03T21:53Z",
      "8": "MSFT",
      "7": "TTTT"
    }],
    "models6": "2017-02-03T21:53Z"
  }]
};

console.log(JSON.stringify(unordered));

var ordered = unordered;
var modelsOrder = {};
var valuesOrder = {};
Object.keys(unordered.models[0]).sort().forEach(function(key) {
  modelsOrder[key] = unordered.models[0][key];
});

Object.keys(unordered.models[0].values).sort().forEach(function(key) {
  valuesOrder[key] = unordered.models[0].values[key];
});

ordered.models[0] = modelsOrder;
ordered.models[0].values = valuesOrder;
console.log(JSON.stringify(ordered));

<强> HTML

  var app = angular.module('myApp', []);

  app.controller('ctrl1', function($scope) {
    $scope.rules = [{
      name: 'rule1',
      id: 1
    }, {
      name: 'rule2',
      id: 2
    }];
    $scope.data = {};

  });

以下是链接Jsfiddle demo