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



下面的代码:

---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属性。

希望这有帮助。

最新更新