Ошибка в AngularJS при клике на ссылку, которая ведёт на страницу, на которой мы уже находимся

Небольшая предыстория. На сайте есть логотип, при клике на который происходит редирект на домашнюю страницу. Соответственно, находясь на домашней, при клике на логотип, страница должна просто обновиться.

Но (как вы уже догадались) этого не происходило.

Код был примерно такой

<a href=".">Logo</a>

После недолгих мучений, оказалось, что проблема кроется в модуле Route, который был подключён но не настроен. Не настроен он был по той причине, что конфигурация для него подключалась на некоторых страницах, а на главной этот модуль не был нужен совсем.

Примерно так он подключался:

let app = angular.module("MyApp", ["ngRoute"]);

Решение этой проблемы простое, нужно в ссылку просто добавить атрибут

<a href="." target="_self">Logo</a>

HTML: input type=number и разделитель дробной части

В HTML 5 было добавлено новое значение атрибута type у тега input — значение number. Значение полей с типом number валидируются браузерами, туда допускается вводить только числа (целые и дробные), а на мобильных устройствах отображается усечённая клавиатура, которая позволяет вводить только цифры.

Но есть у этого решения особенность (в некотором роде — недостаток) — разделитель дробной части браузер берёт из операционной системы. Например, если у вас ОС Windows с русским языком в качестве основного, то браузер будет считать валидным разделителем запятую, а цифры с точкой пропускать не будет. И даже javascript не сможет получить значение поля с невалидным содержимым (например, чтобы заменить точку на запятую).

Решение: необходимо сделать элемент таким:

<input type="tel" pattern="[0-9]+([\.,][0-9]+)?"/>

При этом сохранится браузерная валидация и на мобильном устройстве будет отображаться усеченная цифровая клавиатура.