2017-08-07 66 views
4

Plunker.如何動態地增加父行的角度UI樹

在這種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: [] 
     }); 
    }; 

喜歡我想增加當前對象,並推入項目[] array.so當前的對象將涉及下父對象。

最後如何獲取當前對象的父對象。

+0

你的問題是有點含糊,你應該添加+按鈕僅用於主行,然後+按鈕在樹中應該添加一個孩子在該父母 –

+0

讓我添加一個答案,如果它不符合您的要求然後讓我知道 –

回答

4

確定現在這個只有

$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); 
    } 
} 

這裏更新您的addParentRow功能是Plunker

+0

https://stackoverflow.com/questions/45544608/angular-ui-tree-incrementing-正在複製 – Murali

+0

ok le我檢查一下 –

+0

你有沒有發現問題 – Murali