0

私はAngularが初めてで、モデルを変更するたびに、コントローラーを使用してビューのデータにその変更が反映されることを期待していました。

データモデルを作成するファクトリがあります

app.factory('Calendar', function($http){
  return { months : [//月名の配列 //],
           カレンダー:関数(){
                      // 現在の月を構築する一連のもの
                カレンダーを返す;
                }、
            アクティブな日付:関数(){
                this.calendar()[0] を返します。
            }
         }
});

それから私のコントローラーで私は持っています

  app.controller('CalendarCtrl',function($scope,Calendar){
       $scope.calendar = Calendar.calendar();

       $scope.setActiveDay = 関数(){
           // これは、ユーザーがカレンダーでその日をクリックしたときのクリック イベントによってトリガーされます
           Calendar.activeDay = this.day;
       }
   });

  app.controller('DayCtrl', function($scope,Calendar){
        $scope.activeDay = Calendar.activeDay();
   });

私が期待していたのは、setActiveDayメソッドが変更Calendar.activeDayされ、ビューに正しい日付情報が自動的に入力されることでした。

this.dayin から出力するsetActiveDayと、値が正しく更新されていることがわかりますが、DayCtrlは変更を反映していません。

誰かが私にこれがなぜなのか説明できますか?? myCalendar.activeDayがプリミティブ型ではないからですか? もしそうなら、どうすればこれを回避できますか?それとも、まったく別のものですか?

4

1 に答える 1