私は2つのセクションを持つビュートランザクションを持っています
a.) view-transaction
b.) add-transaction
どちらも次のコントローラーに関連付けられています
function TransactionController($scope, Category, Transaction) {
$scope.categories = Category.query(function() {
console.log('all categories - ', $scope.categories.length);
});
$scope.transactions = Transaction.query();
$scope.save = function() {
var transaction = new Transaction();
transaction.name = $scope.transaction['name'];
transaction.debit = $scope.transaction['debit'];
transaction.date = $scope.transaction['date'];
transaction.amount = $scope.transaction['amount'];
transaction.category = $scope.transaction['category'].uuid;
//noinspection JSUnresolvedFunction
transaction.$save();
$scope.transactions.push(transaction);
console.log('transaction saved successfully', transaction);
}
}
ここで、Transaction はサービスであり、次のようになります。
angular.module('transactionServices', ['ngResource']).factory('Transaction', function($resource) {
return $resource('/users/:userId/transactions/:transactionId', {
// todo: default user for now, change it
userId: 'bd675d42-aa9b-11e2-9d27-b88d1205c810',
transactionId: '@uuid'
});
});
「トランザクション」タブをクリックすると、ルート #/transactions がアクティブになり、サブビュー a.) と b.) の両方がレンダリングされます。
私が持っている質問は、
- 新しいトランザクションを追加するたびに $scope.transactions を更新する方法はありますか? これはリソースであるため
、手動で $scope.transactions.push(transaction); を実行する必要があります。