在这个plunker中,我保留了+
和++
。
+
用于递增父行,++
用于递增子行。
此处++
正在递增。和' +'也正确递增,
如果我点击++
,那么它将为父级添加一个子行。
然后,如果我点击+
按钮,它应为父级添加另一个子行。但它正在增加另一个主要行。
这里我在html中使用了这个关键字得到了一个特定的行。就像那样我如何获得我们点击的子行的父对象。
ng-click="newSubItem(this)"//here This keyword will give the current object.
控制器: -
$scope.newSubItem = function(scope) {
var nodeData = scope.$modelValue;
nodeData.items.push({
id: nodeData.id * 10 + nodeData.items.length,
rowId: nodeData.rowId + '.' + (nodeData.items.length + 1),
items: []
});
};
像这样我想增加当前对象并推入items [] array.so当前对象将在父对象下。
最后,我如何获取当前对象的父对象。
答案 0 :(得分:4)
好了,现在只用
更新你的addParentRow函数 $scope.addParentRow = function(scope) {
if (scope.$nodeScope.$parentNodeScope) {
var nodeData = scope.$nodeScope.$parentNodeScope.$modelValue
nodeData.items.push({
id: nodeData.id * 10 + nodeData.items.length,
rowId: nodeData.rowId + '.' + (nodeData.items.length + 1),
items: []
});
} else {
var lastObj = $scope.list[$scope.list.length - 1];
var rowItem = {
"id": parseFloat(lastObj.id) + 1,
"rowId": parseFloat(lastObj.rowId) + 1,
"items": []
}
$scope.list.push(rowItem);
}
}
以下是Plunker