2017-02-21 21 views
0

Я использую состояние vuex только для содержания пользовательских данных. Нужно ли хранить данные, содержащие открытая или закрытая панель?Нужно ли использовать vuex для записи данных разметки?

Ниже приведен фрагмент кода ..

const state = { 
user: { 
    id: -1, 
    name: '', 
    authenticated: false, 
    avatar_url: '', 
}, 

и разметки

<h5 class="text-subhead-2 text-light">Some text</h5> 
    <div v-for="elem in elements" class="panel panel-default open" data-z="0.5"> 
       //list of elements below 

или я могу использовать vuex реактивность для всех моих требований?

+6

В общем, храните вещи в Vuex, если это необходимо более чем одному компоненту. Храните его в «данных» компонента, если он нужен только этому компоненту. В этом случае не-Vuex, вероятно, правильный. – ceejayoz

ответ

0

В то время как @ceejayoz имеет действительную точку в комментариях, я хотел бы предложить еще один угол относительно того, как мы могли бы вид (каламбур).

Я не знаю масштаба вашего приложения, но поскольку «открыто/закрыто» является флагом (состояние), то Vuex кажется прекрасным местом для него. Возможно, однажды вы захотите начать отслеживать некоторые (любые) взаимодействия или другие компоненты, которые будут зависеть от закрытого/открытого состояния панели. Затем вместо того, чтобы извещать компонент панели, другие компоненты или трекеры могли просто следить за состоянием (Vuex).

Теперь всегда существует принцип YAGNI, и именно поэтому я поднял масштаб приложения. Но я настроил все свои приложения Vue с помощью своего рода менеджера состояний, поскольку он делает связь компонент с компонентом позже по ветру. Еще один момент в пользу Vuex заключается в том, что он уже является частью вашего проекта, поэтому даже не вопрос интеграции, а расширение его для внутреннего состояния вашего приложения.