私はdob列を持っていますが、これはyyyy-mm-dd形式であり、2013-01-01と入力されています。 Jan.私は関数を記述し、その関数から正確な値を返すことでこれを達成できます。 しかし、ng-modelを使用して入力ボックスから関数を呼び出すことはできませんでした。ここでは、ng-bindを使用してスパンで呼び出すことができます。私は入力ボックス内の関数呼び出しが双方向バインディングを壊すことを理解できます。しかし、私はこれにどのようなアプローチをとることができますか?達成方法ng-model(plnkrで)との機能的結合
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)"/>
[$ formatters and $ parsers](https://docs.angularjs.org/api/ng/type/ngModel.NgModelController#$parsers)にチェックを入れてください。もしあなたが望むなら、私はそれらを使って答えを書くことができました – aarosil