Доброго дня.
Для фильтрации контента по тегам, которые задаются пользователем у меня используется модуль ngTagsInput, фильтрация происходит при помощи такого кода, который находится в app.js
app.filter('filterByTags', function () {
return function (items, tags) {
var filtered = [];
(items || []).forEach(function (item) {
var matches = tags.some(function (tag) {
return (item.text.indexOf(tag.text) > -1) ||
(item.text.indexOf(tag.text) > -1);
});
if (matches) {
filtered.push(item);
}
});
if (tags === undefined || tags.length === 0) {
return items;
} else {
return filtered;
}
};
});
Этот скрипт отрабатывается ещё до того, как у меня подключаются контроллеры и сервисы и из-за этого вываливаются в консоль ошибки, т.к. этот скрипт, например, пытается получить длину массивов, которые в это время ещё undefined.
TypeError: Cannot read property 'length' of undefined
Эти ошибки никак не мешают работе приложения в целом, но лично меня очень раздражают, да и мне кажется, что такого не должно происходить, когда всё нормально сделано. Каким образом можно избавиться от этих ошибок?