Как отрегулировать() строку в angularjs?
Существует ли angular конкретный способ? Если нет, следует ли использовать встроенный jquery для этого? Если я должен использовать встроенный jquery, как мне добраться до функции trim(), не используя $(или это необходимо)?
Изменить - Да, я знаю о str.trim(). Сожалею. Мне нужно это для работы в IE 8
Изменить. Поскольку этот вопрос является дубликатом, я спрашиваю конкретно, как это сделать в angular, где в ответе на этот вопрос объясняется, как это сделать в javascript, node и jquery. Есть ли способ сделать это, используя встроенный jquery в angular?
Изменить - По-видимому, ответ: "AngularJS этого не делает"
Ответы
Ответ 1
Почему бы вам просто не использовать 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, '');
}
}
Нашел здесь
Ответ 2
Если вам нужно только отобразить обрезанное значение, я бы предложил не манипулировать исходной строкой и вместо этого использовать 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 not going to work in IE<9
};
});
И затем
<span>{{ foo | trim }}</span>
Ответ 3
используйте метод trim() для javascript после того, как все angularjs также являются фреймворком javascript, и нет необходимости помещать $для применения trim()
например
var x="hello world";
x=x.trim()
Ответ 4
Я вставляю этот код в свой тег, и он работает правильно:
ng-show="!Contract.BuyerName.trim()" >
Ответ 5
JS. trim() поддерживается в основном все, кроме IE 8 и ниже.
Если вы хотите, чтобы он работал с этим, вы можете использовать JQuery, но он должен быть < 2.0.0 (поскольку они удалили поддержку IE8 в строке 2.x.x).
Другой вариант, если вы беспокоитесь о IE7/8 (как вы упомянули ранее), нужно добавить триммер самостоятельно:
if(typeof String.prototype.trim !== 'function') {
String.prototype.trim = function() {
return this.replace(/^\s+|\s+$/g, '');
}
}