Mam kolumnę dobraną i wartości są w tym jest w formacie rrrr-mm-dd powiedz 01.01.2013 i muszę pokazać go w polu wprowadzania jako 1 stycznia. Osiągam to, pisząc funkcję, a następnie zwracam dokładną wartość z tej funkcji. Jednak funkcja nie mogła zostać wywołana z pola wejściowego przy użyciu modelu ng, gdzie można go wywołać za pomocą funkcji ng-bind w zakresie. Rozumiem, że wywołanie funkcji w polu wejściowym przerwie wiązanie dwukierunkowe. Ale jakie inne podejście mogę dla tego użyć.Jak uzyskać funkcjonalne powiązanie z ng-model (z pnkr)
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)"/>
Sprawdź w [$ formatters i $ parsers] (https://docs.angularjs.org/api/ng/type/ngModel.NgModelController#$parsers). Jeśli chcesz, mogę napisać odpowiedź używając ich. – aarosil