Vue: [2.0.0-rc.1] v-for и ref: $ refs больше не реагирует?

Созданный на 17 авг. 2016  ·  3Комментарии  ·  Источник: vuejs/vue

В 2.0.0-rc.1 такая конструкция, как

<p>Count: {{$refs.components && $refs.components.length}}</p>
<sub-component v-for="item in items" ref="components">

больше не работает (счетчик остается на начальном значении, даже если items и, следовательно, количество компонентов изменяется). В v1 массивы $ refs будут обновляться реактивно.

Я не уверен, ошибка это или особенность, но в # 2873, похоже, об этом не упоминается.

Самый полезный комментарий

@ yyx990803 означает ли это, что использование this.$refs.* в свойствах computed также перестанет работать в версии 2 или это просто использование в шаблонах? Должен ли я решать все это с помощью кастомных событий?

В настоящее время я передаю результаты проверки от детей родителю следующим образом.

Все 3 Комментарий

Это задумано - причина в том, что $refs теперь регистрируются / обновляются во время самого процесса рендеринга. Не рекомендуется полагаться на $refs в шаблонах, поскольку они предназначены только для программного доступа в JavaScript.

Я обновил # 2873, чтобы включить это.

@ yyx990803 означает ли это, что использование this.$refs.* в свойствах computed также перестанет работать в версии 2 или это просто использование в шаблонах? Должен ли я решать все это с помощью кастомных событий?

В настоящее время я передаю результаты проверки от детей родителю следующим образом.

вы можете использовать this.$forceUpdate() и setTimeout для повторного рендеринга представления, когда вы обновляете данные и обнаруживаете, что $refs не обновляется реактивно.

this.fetchSomeShit()
.then((data) => {
  this.data = data
  setTimeout(() => {
    this.$forceUpdate()
  })
})

используйте setTimeout чтобы убедиться, что данные были предоставлены в том, что они говорят, очередь задач vue

Была ли эта страница полезной?
0 / 5 - 0 рейтинги

Смежные вопросы

bdedardel picture bdedardel  ·  3Комментарии

lmnsg picture lmnsg  ·  3Комментарии

fergaldoyle picture fergaldoyle  ·  3Комментарии

gkiely picture gkiely  ·  3Комментарии

seemsindie picture seemsindie  ·  3Комментарии