私は天気予報アプリを作成しています.ng-repeatを使用してforecast.dayArrayを繰り返し、ページ内に別の日を作成します。AJAX APIの呼び出し後に角型コントローラを更新するにはどうすればよいですか?
問題は、各「日」にデータを入力するために使用されたコントローラが、ajax API呼び出しから解析された情報で更新されていないことです。代わりに、初期化された値をそのまま保持します。
//Initialize
var app = angular.module("weather", []);
app.controller("ForecastController", function(){
this.array = ['a','b','c'];
});
ajaxCall(){
success: function(){
app.controller.array.push('d'); //Doesn't seem to work
};
あなたはここにその全体のコードを見ることができます:My Codepen
よしを適用し、私は理解して信じています。しかし、簡単な方法はありませんか?私はドット表記法を使ってコントローラの変数にアクセスできると仮定していた(間違っている、おそらく)、その変更はすぐに反映されるだろう。任意の点で自分の値を変更することはできませんし、それらの変更をすぐにDOMに反映させることはできますか? – Vercaelus
あなたはいつでもそれらを変更することができ、それらはDOMに反映されますが、Angularがコントローラをどのように格納するかの内部実装には至りません。たとえば、AJAX呼び出しをボタン・プレスからトリガーしたい場合は、実際にAJAX呼び出しを実行するために、コントローラー上のメソッドを呼び出すマークアップに 'ng-click 'を付けることができます。 – akivajgordon