Могу ли я отключить определенные предупреждения Vue для определенного компонента?

У меня есть (родительский) компонент в Vue, который поставляется с собственной экранной клавиатурой, которая находится в его собственном компоненте Vue. Клавиатура отслеживает введенное значение и передает это значение родительскому компоненту. Иногда родительскому компоненту необходимо сбросить значение.

В настоящее время это реализовано путем прямого изменения реквизита, который передается на клавиатуру. Это, очевидно, приводит к предупреждению Avoid mutating a prop directly since the value will be overwritten whenever the parent component re-renders.. Однако в данном случае я ожидаю именно такого поведения: переменные синхронизированы и должны оставаться синхронизированными, если родитель изменит значение. Другими словами: я хочу отключить это конкретное предупреждение для этого конкретного компонента.

Я мог бы добавить наблюдателя к свойству, которое перезаписывает локальную переменную, и вместо этого использовать локальную переменную для отслеживания вещей. Это... глупо, поскольку он делает именно то, что делает сейчас, с большим количеством переменных, которые нужно отслеживать. Однако я еще не нашел способ отключить предупреждения. Есть ли такая особенность?


person Sumurai8    schedule 12.05.2017    source источник
comment
Вам даже не нужен наблюдатель: просто используйте вычисляемое свойство или внутреннее хранилище данных: заголовок stackoverflow.com/questions/39868963/   -  person Terry    schedule 12.05.2017
comment
И родитель, и дочерний элемент нуждаются в доступе к переменной, и они не могут получить доступ к переменным друг друга, кроме как через систему поддержки/события. Под внутренним хранилищем данных, я думаю, вы имеете в виду хранилище данных vuex? Это кажется излишним, так как я не хочу, чтобы значение сохранялось за пределами того места, где фактически отображаются родительский и дочерний элементы.   -  person Sumurai8    schedule 12.05.2017
comment
Одним из способов может быть передача свойства как объекта с соответствующей информацией в качестве свойств объекта. Vue не будет жаловаться, потому что вы не изменяете ссылку на объект.   -  person Bert    schedule 12.05.2017


Ответы (1)


Согласно Linux Borg (основной разработчик) в настоящее время (Vue 2.5.17) невозможно отключить любые предупреждения для каждого компонента. Вы можете использовать параметр Vue.config.silent, чтобы отключить все предупреждения.

person Sumurai8    schedule 13.09.2018