angularjs ngmodel 在绑定到对象时不更新视图

angularjs ngmodel doesn't update view when bind to an object

代码如下:

---html---
<input type="text" ng-model="pageInfo.businessHours" name="businessHours" date-formatter="object|start|end||-||HH:mm" readonly  />
---js---
...
$scope.pageInfo = {
    businessHours: {
        start: new Date(),
        end: new Date()
    }
};

// when I change businessHours, the input value doesn't update
$scope.pageInfo.businessHours.start = new Date('2000-10-10'); // view doesn't update

问题是当 $scope.pageInfo.businessHours 改变时,视图永远不会改变。

date-formatter 是我的自定义指令,用于将两个日期对象显示为 08:10-20:30。)

那么,有什么想法吗?

你绑定的是 pageInfo.businessHours 而不是 pageInfo.businessHours.start,这两者是不同的,所以当你重置开始时 属性 pageInfo.businessHours 没有作为一个对象改变但是 start 属性 做到了。所以要么你重置 pageInfo.businessHours 要么你绑定到 pageInfo.businessHours.start 属性.

希望对您有所帮助。