В nuxtjs в layouts есть файл error.vue. При открытии несуществующей страницы этот файл открывается и пользователь видит красивую страницу с ошибкой.
Проблема в том, что эта страница открывается и когда в коде просто ошибка. Например, при нажатии на кнопку исполняется скрипт this.title = user.info.name;.
И в консоли появляется ошибка "get property name of undefined", потому что у объекта user нет свойства info.
Так вот из-за этой ошибки сразу открывается экран с ошибкой error.vue.
Как отключить такое поведение?
Я думаю вам нужно не отключить поведение, а исключить такую ситуацию.
Подозреваю что ошибка возникает между стартом приложения и загрузкой данных с сервера?
Поставьте временный заголовок аля this.title = "Загрузка данных", а когда погрузятся данные то и пропишите верный заголовок.
Вы правы, исключить ситуацию нужно. Но проект большой и перевезен с обычного vue-cli на серверный рендеринг. Ошибки после переезда есть и их исправляют по мере обнаружения. Но пока все они не отловлены, хотелось бы, чтобы у пользователя не ломался интерфейс, потому что ошибки не критические и пользователь мог бы замечательно работать дальше.
Ошибки происходят не при загрузке данных. Это банальные ошибки, например обращение к несуществующей переменной при клике.
mrFlyer, Ну оно не должно падать. Простое приложение на js не упадет от такой ошибки. Просто нажатие на кнопку не сработает и все. Видимо где-то в nuxt установлено поведение, при котором показывается страница ошибки при любой ошибке.
Эта страница вылазит если не найдена нужная страница. Так вот что же происходит после нажатия на кнопку? Может быть происходит смена роута на какой-то /undefined? А значит и грузится страница ошибки.