是否有特定角度的方式?如果没有,我应该使用内置的jquery来做吗?如果我应该使用内置的jquery如何在不使用$(或必要)的情况下使用trim()函数?
编辑 - 是的我知道str.trim()。抱歉。我需要这个在IE 8中工作
编辑 - 至于这个问题是重复的,我特别询问如何在角度中执行此操作,其中引用的答案解释了如何在javascript,node和jquery中执行此操作。有没有办法使用角度内置的jquery来做到这一点?
编辑 - 显然答案是“AngularJS不会这样做”
答案 0 :(得分:23)
为什么不使用JavaScript trim() :
str.trim() //Will work everywhere irrespective of any framework.
为了与<IE9
兼容使用:
if(typeof String.prototype.trim !== 'function') {
String.prototype.trim = function() {
return this.replace(/^\s+|\s+$/g, '');
}
}
找到 Here
答案 1 :(得分:20)
如果您只需要显示修剪后的值,那么我建议您不要操纵原始字符串并改为使用filter。
app.filter('trim', function () {
return function(value) {
if(!angular.isString(value)) {
return value;
}
return value.replace(/^\s+|\s+$/g, ''); // you could use .trim, but it's not going to work in IE<9
};
});
然后
<span>{{ foo | trim }}</span>
答案 2 :(得分:12)
使用javascript的trim()方法,所有angularjs也是一个javascript框架,并没有必要把$ to apply trim()
例如
var x="hello world";
x=x.trim()
答案 3 :(得分:4)
我在代码中插入此代码,它可以正常工作:
ng-show="!Contract.BuyerName.trim()" >
答案 4 :(得分:1)
基本上支持JS .trim(),IE 8及以下版本除外。
如果你想使用它,那么,你可以使用JQuery,但它需要&lt; 2.0.0(因为它们在2.x.x行中删除了对IE8的支持)。
你的另一个选择,如果你关心IE7 / 8(如前所述),就是自己添加修剪:
if(typeof String.prototype.trim !== 'function') {
String.prototype.trim = function() {
return this.replace(/^\s+|\s+$/g, '');
}
}