angularjs – Angular中的Date对象
发布时间:2020-12-17 06:58:29 所属栏目:安全 来源:网络整理
导读:有人可以解释为什么按下按钮时没有更新此插件中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/ bu
有人可以解释为什么按下按钮时没有更新此插件中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); }; }); 解决方法
Working Plunker:
http://plnkr.co/edit/ku8iy0YKvQfBdolg7cug?p=preview
将您的控制器更改为: 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呈现更改的模型. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |