Uncaught TypeError: angular.lowercase не является функцией
Uncaught TypeError: angular.lowercase не является функцией
эта ошибка в моем приложении angularjs, и все приложение не работает. Это его показ в textAngular-sanitize.js:413
.
Не удалось отладить, я попытался использовать ту же версию, что и у angular.js, но не добился успеха. Пожалуйста, предоставьте мне решение для этого. У меня нет ничего, чтобы разделить это сообщение об ошибке в консоли.
textAngular-sanitize.js:413 Uncaught TypeError: angular.lowercase is not a function
at parseEndTag (textAngular-sanitize.js:413)
at htmlParser (textAngular-sanitize.js:378)
at textAngular-sanitize.js:147
at textAngularSetup.js:443
at Object.invoke (angular.js:5093)
at angular.js:4892
at forEach (angular.js:374)
at createInjector (angular.js:4892)
at doBootstrap (angular.js:1923)
at bootstrap (angular.js:1944)
Ответы
Ответ 1
Как вы можете видеть здесь, угловатые устарели их метод использования lowercase
.
Библиотека, которую вы используете, еще не обновлена и поэтому совместима только с угловой версией до 1.6.7. Но поскольку вы получаете эту ошибку, угловая версия, которую вы используете, вероятно, выше.
Вы также можете
(A) Уменьшить угловое значение до 1.6.7, в вашем bower.json:
"dependencies": {
"angular": "1.6.7",
...
}
"resolutions": {
"angular": "1.6.7"
}
(B) Создайте простой обходной путь, добавив эти методы как таковые:
angular.lowercase = text => text.toLowerCase();
Убедитесь, что это сделано после загрузки углов, но перед запуском приложения.
Ответ 2
Angular 1.7. * По-прежнему имеет строчную функцию, но переименован в $$ строчными. Это возможный обходной путь. Покупатель остерегается на основании угловой документации.
angular.module('MyApp').config(function() {
angular.lowercase = angular.$$lowercase;
});
Ответ 3
Овидиу Долха ответил, что я почти там. Если вы посмотрите на реализацию функции lowercase
, предшествующую устареванию, это немного больше. Эта реализация прокладки сделала для меня трюк:
/**
* @brief Shim for textAngular in order to make it compatible with the latest
* version of angularjs
*/
function lowercase(string) {
return (typeof string === 'string') ? string.toLowerCase() : string;
}
// Angular deprecated the lowercase function as of v1.6.7. TextAngular hasn't
// updated to reflect this
angular.lowercase = lowercase;
Ответ 4
Я хотел бы поделиться своими взглядами, чтобы он помог другим людям, которые борется, как я, главная проблема заключается в том, что angularJS официально удаляет строчные и прописные функции из своей библиотеки, поэтому люди, которые используют textAngular-sanitize.js, получат эту ошибку, потому что textangular все еще есть этот метод в своей библиотеке, который будет проходить через эту проблему.
Вы можете либо удалить textAngular-sanitize.js из своего проекта, либо добавить код Ovidiu Dolha в app.js перед загрузкой angular.module, как показано ниже.
angular.uppercase=function(text){
return text.toUpperCase();
}
angular.lowercase=function(text){
return text.toLowerCase();
}
angular.module('sampleApp', ....)
Код, представленный Овидиу Долхой
angular.lowercase = text => text.toLowerCase();
Может быть написано как
angular.lowercase=function(text){
return text.toLowerCase();
}
Оба будут работать. Спасибо.
Ответ 5
Я обнаружил аналогичную проблему при обновлении до angular 1.7.5, мое решение было обновить angular-sanitize, и проблема была исправлена. Угловой-Sanitize
Ответ 6
если вы используете angularjs с машинописным текстом и linter (в моем случае, tslint + standard), правильным решением будет следующее:
if (!angular.lowercase) (angular as any).lowercase = (text: string) => angular.isString(text) ? text.toLowerCase() : text
Ответ 7
Другим подходящим решением будет замена textAngular на testAngularJs, как предлагается здесь.
npm install textangularjs
Ответ 8
Я использую AngularJS v1.7.5. В моем контроллере я использовал приведенный ниже код для преобразования строки в нижний регистр:
function myCtrl($scope, $filter)
{
var sampleText = "THIS IS TEST";
var test = $filter('lowercase')(sampleText);
}
Введите $ filter в контроллер и используйте его для преобразования в нижний регистр.
Ответ 9
Куда конкретно приведет кодовое решение от Ovidiu Dolha?
Решение кода: angular.lowercase = text => text.toLowerCase();
Мой репозиторий Github можно найти здесь: https://github.com/whitneylubin/getHousingMiami