我是 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不是原始类型吗?如果是这样,我该如何解决这个问题?还是完全是别的东西?