gpt4 book ai didi

angularjs - Angular 中的日期对象

转载 作者:行者123 更新时间:2023-12-02 23:44:50 25 4
gpt4 key购买 nike

有人可以解释为什么按下按钮时,这个 plunk 中带有 ng-model 的输入没有更新吗?

http://plnkr.co/edit/8JpyUVM8dY8aoV4fi5hC?p=preview

HTML

  <body ng-controller="MainCtrl">
Using ng-model: <input type="text" ng-model="myDate"><br/>
Using expression: {{ myDate }}<br/>
<button ng-click="nextDay()">Next Day</button>
</body>

JS

app.controller('MainCtrl', function($scope) {
$scope.myDate = new Date();
$scope.nextDay = function(){
$scope.myDate.setDate($scope.myDate.getDate() + 1);
};
});

最佳答案

工作中的骗子:http://plnkr.co/edit/ku8iy0YKvQfBdolg7cug?p=preview

将 Controller 更改为:

var app = angular.module('plunker', []);

app.controller('MainCtrl', function($scope) {
$scope.myDate = new Date();
$scope.nextDay = function(){
var newDate = new Date($scope.myDate.setDate($scope.myDate.getDate() + 1));
$scope.myDate = newDate;
};
});

就像其他人提到的那样,对实例的引用没有改变,所以 Angular 不知道它需要再次渲染它。通过完全更改 Date 对象,您将强制 Angular 渲染更改后的模型。

关于angularjs - Angular 中的日期对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30490429/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com