Angular.js を使い始めたばかりで、2 つの「モデル」を「リンク」する方法がわかりません。index.php ファイルに次のコードがあります
<div ng-controller="AccountCtrl">
<h2>Accounts</h2>
<ul>
<li ng-repeat="account in accounts">
<span>{{account.id}} {{account.ownedBy}}</span>
</li>
</ul>
</div>
<div ng-controller="TransactionCtrl">
<h2>Transactions</h2>
<ul>
<li ng-repeat="transaction in transactions">
<span>{{transaction.id}} {{transaction.timestamp}} {{transaction.amount}} {{transaction.description}} {{transaction.account}}</span>
</li>
</ul>
</div>
そして次のjs
function AccountCtrl($scope, $http) {
// initialize Data
$http({
method:'GET',
url:'http://api.mydomain.ca/accounts'
}).success(function(data, status, headers, config) {
$scope.accounts = data;
}).error(function(data, status, headers, config) {
alert('Error getting accounts. HTTP Response status code: '+status);
});
}
function TransactionCtrl($scope, $http) {
// initialize Data
$http({
method:'GET',
url:'http://api.mydomain.ca/transactions'
}).success(function(data, status, headers, config) {
$scope.transactions = data;
}).error(function(data, status, headers, config) {
alert('Error getting transactions. HTTP Response status code: '+status);
});
}
したがって、私の例では、各アカウントには多くのトランザクションがあり、トランザクションに基づいてアカウントの残高を計算する関数をアカウント コントローラーに追加したいと考えていますが、異なる $scopes にあるため、その方法がわかりません。
Angular でこれを行う方法はありますか、またはアカウントを取得したときに、サーバーからの JSON 応答で「リンクされた」トランザクション情報を返す必要がありますか?