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
属性.
希望对您有所帮助。
代码如下:
---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
属性.
希望对您有所帮助。