【发布时间】:2013-06-26 22:54:51
【问题描述】:
我是 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,并且视图将自动填充正确的日期信息。
我从setActiveDay 中输出this.day,我可以看到这些值正在正确更新,但DayCtrl 没有接受更改。
有人可以向我解释这是为什么吗?是因为我的Calendar.activeDay 不是原始类型吗?如果是这样,我该如何解决这个问题?还是完全是别的东西?
【问题讨论】: