Javascript 如何防止早于1.3.0版本的字段自动修剪?

Javascript 如何防止早于1.3.0版本的字段自动修剪?,javascript,angularjs,Javascript,Angularjs,是否有任何方法可以防止angular 1.3.0之前的版本在整个应用程序中自动调整字段?我知道我可以使用ngTrim指令来阻止指定字段使用该指令,但如果将该指令添加到应用程序中的所有文本字段中,看起来不太好,是否有任何方法可以对角度模块中的所有字段执行该指令?下面是代码,如果在输入的开头添加空格,它们将不会出现在标签中: <div ng-app> <div ng-controller="TodoCtrl"> {{field}} <input

是否有任何方法可以防止angular 1.3.0之前的版本在整个应用程序中自动调整字段?我知道我可以使用ngTrim指令来阻止指定字段使用该指令,但如果将该指令添加到应用程序中的所有文本字段中,看起来不太好,是否有任何方法可以对角度模块中的所有字段执行该指令?下面是代码,如果在输入的开头添加空格,它们将不会出现在标签中:

<div ng-app>
  <div ng-controller="TodoCtrl">
      {{field}}
    <input type="text" ng-model="field">
  </div>
</div>

{{field}}

这里还有我第一个问题的链接,答案适用于angular 1.3.0或更高版本。

在angular 1.3.x之前的版本中,您可以尝试修饰编译函数:

app.config(function($provide) {
    $provide.decorator('inputDirective', function($delegate) {

        var directive = $delegate[0];

        directive.compile = function(orig) {
            return function(element, attrs, transclude) {
                attrs.$set('ngTrim', 'false');
                return orig.apply(null, arguments);
            };
        }(directive.compile);

        return $delegate;
    });
});
不过,这种方法在1.3.x中也应该适用

演示: