0

次のような状況があります。

  • view+Ctrl 1: メニュー、都市を選択します。都市属性を $watch し、変更されたときに API からその都市の求人を更新し、それに応じて $scope.model.myJobs を変更します。

  • view+Ctrl 2: メイン ビュー、$scope.model.myJobs を繰り返し ng で繰り返します。

API からの応答はスムーズに期待どおりに返されますが、コントローラー 1 が HTML 構文のコントローラー 2 内にある場合でも、angular にはコントローラーごとに個別の $scope.model.myJobs があるようです。

それを解決する方法はありますか?

4

1 に答える 1

2

これを行う「角度のある」方法は、モデルを提供するサービスを使用することです。ビューを変更してもサービスは持続し、複数のコントローラーで共有できます。概念は、この回答でうまく説明されています: https://stackoverflow.com/a/12574818/2187206

参考までに、子コントローラーには親スコープへの読み取り専用アクセスしかないため、この問題に直面しています。子で親スコープを編集しようとすると、プロパティが子コントローラーのローカル スコープに複製され、変更が反映されません。これを修正する手っ取り早い方法は、親スコープでゲッターとセッターを作成し、子コントローラーでこのセッターを使用してモデルを変更することです。しかし、あなたは間違いなくサービスを使用する必要があります.

于 2013-08-20T12:38:15.143 に答える