我有一个 dob 列,其中的值是 yyyy-mm-dd 格式,比如 2013-01-01,我需要在输入框中显示为 1 月 1 日。我可以通过编写一个函数然后返回精确值来实现这一点从那个函数。但是无法使用 ng-model 从输入框中调用函数,因为可以在 spans 中使用 ng-bind 调用它。我可以理解在输入框中调用函数会破坏双向绑定。但是我可以用什么其他方法来做到这一点。
http://plnkr.co/edit/pZDpypsxM1OA2JwFhjjp?p=preview
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.min.js"></script>
<script type="text/javascript" >
var app = angular.module('app', []);
app.controller('AppCtrl', function ($scope) {
$scope.dob = "2013-01-01";
$scope.getDateOfBirth = function(dob){
var months = ["Jan","Feb","Mar","Apr","May","June","July","Aug","Sep","Oct","Nov","Dec"]
var split = dob.split("-");
return parseInt(split[2])+" "+months[parseInt(split[2])-1];
}
});
</script>
<span ng-app="app" ng-controller="AppCtrl" ng-bind="getDateOfBirth(dob)"></span>
<input type="text" ng-model="getDateOfBirth(dob)"/>