我有以下数组的值(我正在生成值)
$scope.objectName = [{ Name: '' }];
$scope.propertiesElement = [{ Key: '', Value: '' }];
我想连接这两个对象以获得以下结果
[{Name:''},{ Key: '', Value: '' }]
Plunker link,某种程度上不起作用
当我点击添加行按钮时,它将为键和值文本框添加另一行而不是名称,我可以添加n没有行,当我点击提交时,它应该显示kev值对
[{Name:''},{ Key: '', Value: '' },{ Key: '', Value: '' },{ Key: '', Value: '' }.....so on]
由于
答案 0 :(得分:2)
不确定为什么要构建不匹配对象的数组。在我看来,这是在寻找麻烦。我建议可能会做以下事情:
$scope.objects = [{Name: '', Elements: []}];
然后,您可以轻松管理具有元素的多个对象:
(我使用下划线http://underscorejs.org/)
$scope.addElementToObject = function(objName, element){
_.where($scope.mergedArray, {Name: objName}).Elements.push(element);
};
然后,您可以添加到该对象的元素列表,而无需在每次使用时评估elements数组中的对象。
如果您仍然需要/需要合并不匹配对象的数组,则可能如下:
$scope.objectName = [{ Name: '' }];
$scope.propertiesElement = [{ Key: '', Value: '' }];
$scope.mergedArray = $scope.objectName.contact($scope.propertiesElement);
$scope.addElement = function(element){
$scope.mergedArray.push(element);
};
然后,在您的点击事件代码中:
$scope.addElement({ Key: 'someKey', Value: 'Some Value' });
我希望这会有所帮助。