@IgorRv

Почему Vue не даёт использовать директиву if в рендере?

render: function (h) {
    return h('div', {
    	directives: [{name: 'if', value: this.List.length > 5}]
    })
}

выдает :
[Vue warn]: Failed to resolve directive: if

(found in <Anonymous>)

В чём проблема? Директива "show" работает в этом коде
  • Вопрос задан
  • 321 просмотр
Пригласить эксперта
Ответы на вопрос 1
kleinmaximus
@kleinmaximus
Senior Full-stack Javascript Developer
Читаем документацию и видим, что напрямую в render-функции директивы if/model не используются. Здесь больше похоже на React, чем на Angular:

render: function (h) {
  if (this.List.length <= 5) return h('');
  return h('div', { ... });
}


Директива "show" в этом коде работает потому, что show не оперирует узлами DOM, а просто вешает на тег display: none, оставляя сам узел в структуре страницы.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы