computed: {
catId() {
return this.$route.meta.catId;
},
},
<ListProducts :catId="$route.meta.catId" />
@click="checkOption(option);"
v-model
is required
domProps: {
value: this.value,
},
v-model="selectField[index]"
заменяете на v-model="item.value"
, например, а selectField.includes(name)
на conditionList.some(n => n.value === name)
. Вопрос - правильный ли такой подход?
:class="className"
. Ну и документацию почитайте. Приноровился к angular 2+
:ease="Elastic.easeOut.config(1, 0.75)"
$('#dateStart').trigger('change');
this.dispatchEvent(new Event('input'));
:curPage="defineCurPage"
:cur-page="defineCurPage"
. data: () => ({
newTask: '',
items: {},
}),
watch: {
items: {
deep: true,
handler: val => localStorage.setItem('items', JSON.stringify(val)),
},
},
methods: {
addTask() {
const title = this.newTask.trim();
if (title) {
const id = 1 + Math.max(0, ...Object.values(this.items).flat().map(n => n.id));
this.items.A.push({ id, title });
} else {
alert('Введите текст задачи');
}
this.newTask = '';
},
},
created() {
let items = null;
try {
items = JSON.parse(localStorage.getItem('items'));
} catch (e) {}
this.items = items || дефолтное значение;
},
<div>
<input placeholder="текст задачи" v-model="newTask">
<button @click="addTask">+</button>
</div>
<draggable
v-for="(v, k) in items"
v-model="items[k]"
:key="k"
:options="{ group: 'tasks' }"
element="ul"
class="connectedSortable"
>
<li v-for="item in v" :key="item.id">{{ item.title }}</li>
</draggable>
item.isShow = false;
this.$set(item, 'isShow', false);
data() {
return {
apiCopy: this.api.map(n => ({
...n,
requests: n.requests.map(m => ({
...m,
isShow: false,
})),
})),
};
},
Насколько хороши варианты:
1. интервалом синхронить стейт корзины.
2. Синхронить стейт при событии onunload
3. Писать обработчик кликов, который будет регулировать частоту запросов (очень не хочется)
methods: {
syncCart: debounce(function() {
...
}),
},
watch: {
'$store.state.cart': {
immediate: true,
deep: true,
handler: 'syncCart',
},
},
data: () => ({
items: [
{ раз_свойство: '', два_свойство: '', три_свойство: '', ... },
...
],
}),
<table>
<tbody>
<tr v-for="(n, i) in items">
<td>#{{ i + 1 }}</td>
<td v-for="(v, k) in n">
{{ k }}:
<input v-model="n[k]">
</td>
</tr>
</tbody>
</table>
next({
name: 'здесь имя маршрута, придумайте сами',
params: data,
})
this.$route.params
. Если надо, чтобы свойства params передавались в параметры компонента, также добавьте в описание маршрута props: true
.