下面的代码:
---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
,这两者是不同的,因此当您重置 start 属性时,pageInfo.businessHours
没有作为对象更改,但 start 属性发生了变化。 因此,要么重置pageInfo.businessHours
,要么绑定到pageInfo.businessHours.start
属性。
希望这有帮助。