对于整个应用程序中的字段,是否有任何方法可以阻止角度版本1.3.0之前的自动修剪?我知道我可以使用ngTrim指令阻止它指定字段,但它看起来不太好将此指令添加到应用程序中的所有文本字段,是否有任何方法可以对角度模块中的所有字段执行此操作?这是代码,如果在输入的开头添加添加空格,它们将不会出现在标签中:
<div ng-app>
<div ng-controller="TodoCtrl">
{{field}}
<input type="text" ng-model="field">
</div>
</div>
此处还有我的第一个问题How prevent angular auto trim for fields?的链接,其答案适用于1.3.0或更高版本。
答案 0 :(得分:1)
在1.3.x之前的Angular中,您可以尝试修饰编译函数:
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.