我想将输入绑定到页面的其他部分,并将用户输入的所有空格替换为其他字符,例如星号。
我的(简化的)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 来演示这个问题。