Не похоже, чтобы получить угловые Форматтеры и парсеров работы:Используя угловые Форматтеры/парсеры
app.js:
var itemApp = angular.module('itemApp', []);
itemApp.controller('ItemController', ['$scope', function($scope) {
$scope.some_value = 'abcEFG';
}]);
itemApp.directive('changeCase', function() {
return {
restrict: 'A',
require: 'ngModel',
link: function (scope, element, attrs, ngModel) {
ngModel.$formatters.push(function(value){
return value.toUpperCase();
});
ngModel.$parsers.push(function(value){
return value.toLowerCase();
});
}
};
});
view.html:
<input ng-model="some_value" changeCase>
Это не работает - никаких ошибок, просто ничего не происходит со значениями во входном или модели. Я новичок в Angular, не понимая, как я даже отлаживаю это.
[toUpperCase] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toUpperCase) и [toLowerCase] (HTTPS: // разработчик. mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toLowerCase), и все методы управления строками не управляют строкой на месте, они возвращают преобразованную строку. Таким образом, вы бы сделали 'return value.toUpperCase()' и т. Д. –
Извините, неряшливый пример кода. Все еще не работает, хотя – Yarin