我是 Angular 的新手,我期待每当我对模型进行更改时,该更改将通过使用控制器反映在我视图中的数据中。
我有一个工厂来创建我的数据模型
app.factory('日历', function($http){ return { months : [//月份名称数组 //], 日历:函数(){ // 一堆构建当前月份的东西 返回日历; }, 活动日期:函数(){ 返回 this.calendar()[0]; } } });
然后在我的控制器中我有
app.controller('CalendarCtrl',function($scope,Calendar){ $scope.calendar = 日历.calendar(); $scope.setActiveDay = 函数(){ // 当用户点击日历上的日期时,这是由点击事件触发的 Calendar.activeDay = this.day; } }); app.controller('DayCtrl', function($scope,Calendar){ $scope.activeDay = Calendar.activeDay(); });
我期望发生的事情是,该setActiveDay
方法会改变Calendar.activeDay
并且视图将自动填充正确的日期信息。
我this.day
从 in输出setActiveDay
,我可以看到这些值正在正确更新,但DayCtrl
没有接受更改。
有人可以向我解释这是为什么吗?是因为 myCalendar.activeDay
不是原始类型吗?如果是这样,我该如何解决这个问题?还是完全是别的东西?