我在操縱數據樹。從任何給定的節點,我可能需要添加從RESTful服務器返回的子節點。該數據開始出去找這樣的事情...替換Angular中的子節點
[{ "text":"Apples", "id":1, "childNodes":[] },
{ "text":"Boxes", "id":2, "childNodes":[] },
{ "text":"Cups", "id":3, "childNodes":[] }]
然後我做的「ID:1」的後返回...
[{ "text":"Apples", "id":1, "childNodes":[
{ "text":"first Apple", "id":'1a', "childNodes":[] },
{ "text":"second Apple", "id":'1b', "childNodes":[] },
{ "text":"third Apple", "id":'1c', "childNodes":[] }
]
}]
...這是請求節點的完全替代。我有Angular正確地佈置模型,接受數據更改,將這些更改發佈到服務器,並接受最後一個JSON blob。真棒。但我不確定如何使用新數據更新$範圍。我查看看起來是這樣的......
<div ng-repeat="node in data.nodes" >
<p>{{node.text}}</p>
<button ng-click="addLoopInstance(node)">Add child nodes</button>
</div>
和控制器......
function SurveyController($scope, sampleService) {
$scope.addLoopInstance = function(node) {
sampleService.post({ id: node.id }, function(response, getResponseHeaders) {
// this doesn't work
node = response;
// neither does this
$scope.$apply(function() {
node = response;
});
});
}
}
有什麼想法?在此先感謝,Angular文檔是...想要......但我發現用戶羣非常有幫助。
你不需要'node.childNodes = response.childNodes'嗎? – 2013-04-10 19:04:57