Vue.use(window['v-show-slide'].default);
. .images_box-model-spec {
order: 1;
}
.itemsnew-list-item-wrapper {
order: 2;
}
allTasks: {
get() {
return this.$store.state.tasks;
},
set(val) {
this.$store.commit('allTasks', val);
},
},
draggable.tasks__wrap(v-model="allTasks")
...
computed: {
all: {
get() {
return this.filters.every(n => n.active);
},
set(val) {
this.filters.forEach(n => n.active = val);
},
},
},
<label>
<input type="checkbox" v-model="all">
ALL
</label>
this.$store.commit('updateProduct', {
product: product.options,
data: {
isFree: true,
},
});
data: () => ({
filters: [
{ name: 'disColor', active: true },
{ name: 'water', active: true },
{ name: 'gps', active: true },
],
...
<label v-for="f in filters">
<input type="checkbox" v-model="f.active">
{{ f.name }}
</label>
computed: {
filteredItems() {
const filters = this.filters.filter(n => n.active);
return this.items.filter(n => filters.some(f => n[f.name]));
},
...
computed: {
text: {
get() {
// ...
},
set: _.throttle(function(text) {
// здесь вызываете мутацию
}, 2000),
},
},
data() {
return {
show: null,
...
@click="show = watch"
. Закрытие: @click="show = null"
. В шаблоне попапа исправляете watch на show: :src="`img/catalog/${show.model}/group.jpg`"
. правильно ли я все понял?
.button:hover {
animation: hover 2s linear;
}
@keyframes hover {
0%, 50% {
opacity: 0.5;
},
100% {
opactity: 1;
}
}
data: () => ({
componentNames: [ 'comp1', 'comp2', 'comp3', 'comp4' ],
...
}),
computed: {
componentName() {
return [ 1, 2 ].includes(this.Q) && this.componentNames[this.B - 1];
},
},
<component :is="componentName"></component>
data: () => ({
components: [
{ name: '...', props: { ... } },
{ name: '...', props: { ... } },
...
],
...
}),
<component
v-if="component"
:is="component.name"
v-bind="component.props"
></component>
this.currentImg = Math.min(+this.currentImg + 1, this.maxImages - 1);