<my-fucking-component :myData="someData">
Имена HTML-атрибутов являются регистро-независимыми, поэтому браузеры интерпретируют любые прописные символы как строчные. Это означает, что при использовании шаблонов в DOM, входные параметры в camelCase стиле должны использовать свои эквиваленты в стиле kebab-case
v-if
с этим геттером. Пока данных нет - экземпляр компонента не будет рендериться, а значит и мутация, требующая отсутствующих данных, тоже вызвана не будет, а значит и ошибки не будет. v-for
.links: [
{ title: 'link #1', to: { name: 'AdmissionActList' } },
{ title: 'link #2', to: { name: 'ShiftsTask' } },
// ну и так далее
],
<ul class="list-unstyled components">
<b-nav-item
v-for="link in links"
:to="link.to"
@click.prevent="sidebarCollapse"
>{{ link.title }}</b-nav-item>
</ul>
в зависимости от значения переменной, нужно рендерить либо<div class="link">контент</div>
либо<router-link to="/path" class="link">контент</router-link>
v-if
/ v-else
.<component v-bind="bullshit" class="link">контент</component>
computed: {
bullshit() {
const attrs = {};
attrs.is = this.isLink ? 'router-link' : 'div';
if (this.isLink) {
attrs.to = '/path';
}
return attrs;
}
}
:value="name"
.v-for="(name, i) in names"
, v-model="checkboxValue[i]"
. v-for="post in posts.slice(0, определённое количество)"
v-show="showDocs"
. Обработка клика станет выглядеть так: @click="showDocs = !showDocs"
.style.display
вовсе не none, а пустая строка (скорее всего - вы ведь элемент через css изначально скрываете, да?).Так не получиться, так как вывожу элементы в цикле v-for.
data: () => ({
checked: null,
items: [ 'hello, world!!', 'fuck the world', 'fuck everything' ],
}),
<label v-for="(n, i) in items">
<input
type="checkbox"
:checked="checked === i"
@change="checked = $event.target.checked ? i : null"
>
{{ n }}
</label>
$router.push
, сама текущая страница из свойства компонента станет его параметром и будет браться из параметров маршрута. Примерно так. Не знаю, похоже ли это на то, что вам надо, если нет - кидайте свой код в песочницу, тогда возможно, смогу подсказать точнее. computed: {
isFilledAll() {
return Object.values(this.user_inputs).every(n => n.isFilled);
},
},
isFilledAll() {
return Object.values(this.user_inputs).every(n => Object.values(n).every(m => m !== null));
}
findIndex(item => item.id = id)
Что стоит доизучить?
addToCart(state, id) {
state.cartItems.push(state.products.find(n => n.id === id));
},
addToCart: (state, product) => state.cartItems.push(product),
addToCart({ cartItems, products }, id) {
let product = cartItems.find(n => n.id === id);
if (!product) {
cartItems.push(product = {
...products.find(n => n.id === id),
quantity: 0,
});
}
product.quantity++;
},
как это правильно называется
div
с различными background-color
, один вложен в другой, у родительского ширина 100%, у дочернего - в зависимости от текущего значения.