【发布时间】:2016-06-11 05:48:13
【问题描述】:
似乎无法让 Angular 格式化程序和解析器工作:
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 和 toLowerCase 以及所有字符串操作方法都不会就地操作字符串,它们会返回转换后的字符串。所以你会做
return value.toUpperCase()等 -
对不起,草率的示例代码。还是不行
标签: javascript angularjs angularjs-directive