私は Angular チュートリアルに取り組んでおり、多くの読書を行っています。しかし、私はこの質問に対する答えを見つけるのに苦労しています。または、私はそれについて間違って考えているかもしれません。誰かが私を助けてくれることを願っています!
非常に簡単な例:
var phones = [
{"name": "Nexus S",
"snippet": "Fast just got faster with Nexus S.",
"age": 0},
{"name": "Motorola XOOM™ with Wi-Fi",
"snippet": "The Next, Next Generation tablet.",
"age": 1},
{"name": "MOTOROLA XOOM™",
"snippet": "The Next, Next Generation tablet.",
"age": 2}
];
function PhoneListCtrl($scope) {
$scope.phones = phones;
$scope.orderProp = 'age';
}
上で示したのは、このコントローラーの外部から来るデータのソースです。新しいデータの必要に応じてサーバーを XHR する既存のキャッシュ機能があります。
次にモデルが変更されたとしましょう。
phones[3] = {"name": "Something new from the server",
"snippet": "Here is some new incoming data",
"age": 5};
PhoneListCtrl
モデルが更新されたことをAngular コントローラーに伝えるにはどうすればよいですか? これを自分でテストして配列を更新すると、Angular は変更を認識しないため、DOM を更新しません。
私は$http
サービスを認識していますが、現在のアーキテクチャでは、コントローラー内で $http を使用してデータを取得することはできません。コントローラーは、データ用に作成した外部関数を要求する必要があります。その後、データが変更されたときに、Angular のコントローラーに通知する何らかの方法が必要です。
ヘルプと洞察をいただければ幸いです。