如何禁用在AngularJSinput的修剪?
我发现了一些奇怪的行为:angular度修剪模型默认值。 快速search并不能帮助我解决这个问题。 我发现ng-no-trim
指令提议, ng-trim
等等。 但没有任何工作。
我提供了一个代表下面这个问题的小片段。
function Ctrl($scope) { $scope.text=''; $scope.$watch('text', function (newValue) { console.log(newValue); }); }
你也可以在这里试试这个片段。
我添加了一个与模型text
同步的textarea。 但是,当添加新的尾部空格或将行分隔到新的空格时,它不会反应。
我能做些什么来closures这种行为? 谢谢。
有关的指令在1.1.1中是新的; 你可以看到它使用JS Bin片段工作 。
<textarea cols="30" rows="10" ng-model="text" ng-trim="false"></textarea>
回退angular1.0.x
var app = angular.module('app', []); app.directive('ngTrim', function() { return { require: 'ngModel', priority: 300, link: function(scope, iElem, iAttrs, ngModel) { if (iAttrs.ngTrim === 'false') { // Be careful here. We override any value comming from the previous // parsers to return the real value in iElem ngModel.$parsers.unshift(function() { return iElem.val(); }); } } } }); angular.bootstrap(document, ['app']);
您可以使用ng-trim = true / false来启用/禁用修剪选项。 Ref https://docs.angularjs.org/api/ng/input/input%5Btext%5D