Cómo lograr la unión funcional con ng-model (con plnkr)

Tengo una columna dob y los valores vienen en formatting aaaa-mm-dd, digo 2013-01-01 y tengo que mostrarlo en el cuadro de input como 1 de enero. Puedo lograrlo escribiendo una function y luego devolver el valor exacto de esa function. Pero no se pudo llamar a la function desde el cuadro de input utilizando ng-model, donde se puede llamar usando ng-bind en tramos. Puedo entender que la function que llama en el cuadro de input romperá el enlace bidireccional. Pero qué otro enfoque puedo usar para esto.

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)"/> 

Puede usar ng-init para asignar el valor devuelto por la function y asignarlo a un model:

 <input ng-init="myDOB = getDateOfBirth(dob);" type="text" ng-model="myDOB"> 

MANIFESTACIÓN

Puede usar ng-init para establecer el valor y ng-change para mantener el valor actualizado

http://plnkr.co/edit/q1hg0R?p=preview

Para dates, numbers de teléfono, etc., puede usar ui-mask. ¡Espero que esto ayude a alguien!