HTML で ng-click イベントによって呼び出されるメソッドを設定しました。
<div ng-repeat="section in model.sections">
<a ng-click="updateSection($index)">
</div>
次に、私のjavascriptファイルには、次のサービスがありました。
.factory('Sections', function($resource){
return{
onUnits: $resource('/api/sections/:uuid/units', {uuid:'@sectionUUID'}, {
get: {method: 'GET', params:{uuid: '@uuid'}, isArray:true}
}
}
}
html から呼び出されるメソッドは次のとおりです。
$scope.updateSection = function(index){
$scope.model.sections[index].sectionUnits = Sections.onUnits.get({uuid: $scope.model.sections[index].sectionUUID}
,console.log($scope.model.sections[index])
);
}
この更新が行われる前に、
$scope.model.sections[0].sectionUnits == ['d1','d2']
これは、このセクションに関連付けられているユニットの ID のリストです。このメソッドは基本的にunit
、次のような実際のオブジェクトでこのリストを更新します。
.sectionUnits = [{unitUUID: 'd1',
materials: ['m1','m2','m3']
}, {... }]
私のブラウザでは、上記のコードは、section
探していた更新されたオブジェクトを返します。すべてのunit
オブジェクトはsection
.
しかし、私が本当に望んでいたのはmaterials
、この更新されたオブジェクト内のユニットに関連付けられたすべての ID のリストを受け取り、section
それらを取得するコールバックを実装することでした。
それを試してみて、代わりに次のコールバックがあると、sectionUnits
まだ ID だけのリストが表示されます。
$scope.updateSection = function(index){
$scope.model.sections[index].sectionUnits = Sections.onUnits.get({uuid: $scope.model.sections[index].sectionUUID}
,console.log($scope.model.sections[index].sectionUnits)
);
}
私は多くの SO スレッドと元のドキュメントに目を通しましたが、この時点でちょっと立ち往生しています。
ありがとう!