пишет ошибку что свойства id нету
isShow() {
return ((this.getProject() || {}).creator || {}).id === this.user.id;
},
как в другом компоненте дождаться пока метод fetch() положит данные с store?
v-if="данные"
тому элементу/компоненту, что эти данные использует. methods: {
select(airline) {
const index = this.selected.indexOf(airline);
if (index !== -1) {
this.selected.splice(index, 1);
} else {
this.selected.push(airline);
}
},
},
computed: {
checkedAll: {
get() {
return this.airlines.every(n => this.selected.includes(n.name));
},
set(val) {
this.selected = val ? this.airlines.map(n => n.name) : [];
},
},
},
AJAX запрос <...> нужен watch?
что лучше использовать
data: () => ({
items: [
{ active: false, text: '...' },
{ active: false, text: '...' },
...
],
}),
<div
v-for="n in items"
v-text="n.text"
:class="[ { active: n.active }, 'toggle' ]"
@click="n.active = !n.active"
></div>
а как сделать чтобы не городить кучу даныx в data?
data: () => ({
itemsCount: 5,
active: [],
}),
methods: {
toggle(item) {
const i = this.active.indexOf(item);
if (i === -1) {
this.active.push(item);
} else {
this.active.splice(i, 1);
}
},
},
<div
v-for="i in itemsCount"
v-text="`Item ${i}`"
:class="[ { active: active.includes(i) }, 'toggle' ]"
@click="toggle(i)"
></div>
Чето я вообще ничего найти не могу.
perPage: 10, // или 20, или 50, это вам виднее... да и настраиваемым можно его сделать
page: 1,
pages() {
return Math.ceil(this.items.length / this.perPage);
},
pageData() {
const end = this.page * this.perPage;
return this.items.slice(end - this.perPage, end);
},
<div v-for="item in pageData">
...
goTo(page) {
this.page = Math.max(1, Math.min(this.pages, page));
},
next(change) {
this.goTo(this.page + change);
},
<button @click="goTo(1)">в начало</button>
<button @click="next(-1)">предыдущая страница</button>
<button @click="next(+1)">следующая страница</button>
<button @click="goTo(pages)">в конец</button>
'2' > '10'
, всё правильно.mutations: {
saveSort: (state, items) => items.forEach((n, i) => n.sort = i),
},
:item-value="itemValue"
methods: {
itemValue() {
...
p test: {{ isNewDesign }}
mounted не подходит так как, он вызывается при каждом переходе
getOneProfile: state => { return state.profile }
{{ getOneProfile.profile.name }}
state.profile
есть свойство profile
? Типа, можно было бы и $store.state.profile.profile.name
написать? Подозреваю, что profile
всё-таки лишний. Ну и чтобы не пытаться выводить данные, которых пока нет, используйте условный рендеринг:<КакойТоКомпонент v-if="данные">
Я думал, нужно делать какой то лоадер, пока данные идут?
<КакойТоКомпонент v-if="данные" />
<ИндикаторЗагрузки v-else />
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"
. Ну и документацию почитайте.