Вы создали то, что считается Чистой трубой.Когда тип не указан, это значение по умолчанию.Чистые каналы выполняются только "когда он обнаруживает чистое изменение для входного значения. Чистое изменение - это либо изменение примитивного входного значения (String, Number, Boolean, Symbol), либо изменение ссылки на объект (Дата, Массив, Функция, Объект). "( Angular Manual )
Чтобы превратить вашу трубу в нечистую, добавьте ложный флаг в декоратор трубы:
@Pipe({
name: 'normalizeUri',
pure: false
})
Поскольку чистые трубы выполняются много, онив общем обескуражен. Нечистый канал вызывается часто, так же часто, как каждое нажатие клавиши или движение мыши. (Angular Manual)
Вместо этого рассмотрите возможность нормализации ваших URI перед назначением их объекту, который будет отображаться вшаблон.