3

我想将输入绑定到页面的其他部分,并将用户输入的所有空格替换为其他字符,例如星号。

我的(简化的)HTML 代码如下所示:

<div ng-app>
    <div ng-controller="MyCtrl">
        Output: "{{input}}"<br />
        <input type="text" ng-model="rawInput" ng-change="onInputChanged()" />
    </div>
</div>

相关的控制器也很简单:

var myApp = angular.module('myApp',[]);
function MyCtrl($scope) {
    $scope.input = '';
    $scope.rawInput = '';
    $scope.onInputChanged = function() {
        $scope.input= $scope.rawInput .replace(/\s/g, '*');
    };
};

结果并不如预期。输入'Hello '文本框时,结果输出"Hello"将删除尾随空格。输入末尾的多个空格也是如此。

向输入中添加非空白字符时,例如'Hello W',空白将被正确替换和显示:"Hello*World".

所以这是我的问题:如何绑定到保留用户输入的所有空格的文本框的值?

我创建了JSFiddle 来演示这个问题。

4

1 回答 1

7

ng-trim="false"在您的输入中设置。

角度文档

如果设置为 false Angular 将不会自动修剪输入。

于 2014-05-13T14:05:43.980 回答