Хорошо, теперь я вижу вашу проблему. Я немного покопался, и это нелегко решить, потому что v-flex не поддерживает params, он должен быть объявлен как атрибут, а не как класс (как говорится в этом ответе https://stackoverflow.com/a/47215040/6058255).
Поскольку нет способа создать атрибут без значения, как я сказал в комментарии, и выполнить некоторые тесты, я сделаю следующее:
<v-flex v-bind:class="'xs'+12/menuItems.length" v-for="menuItem in menuItems">
{{menuItem}}
</v-flex>
Это должно отобразить элемент v-flex
с классом вроде: "xs12","xs6","xs4"
..
Тогда вам нужно только copy
стиль класса для этих элементов, для которых есть v-flex
, что-то вроде:
.xs12{ max-width:100%; }
.xs6{ max-width: 50%; }
.xs4{ max-width: 25%; }
.xs3{ max-width: 33.333333333%; }
...
Возможно, это не решение more elegant
, но оно простое и оно работает для вас, я думаю.
Надеюсь, это поможет!
РЕДАКТИРОВАТЬ:
Отзыв stdob--
ответить Теперь я вижу, что только с выражением:
<v-flex v-bind:class="'xs'+12/menuItems.length" v-for="menuItem in menuItems">
{{menuItem}}
</v-flex>
Должно работать. Компонент flex будет отображаться как flex xs12
(например).