Стрелочные функции не создают собственный контекст this, а используют значение this окружающего контекста.
computed: {
incomingActive() {
this.messages.forEach((message) => {
alert('user_name is: ' + this.user);
/* ... */
return incomingActive;
});
},
}, this.options.series = null, то сам чарт тут не причем. Получается у вас где-то не записывается значение в пропс или в каком-то другом месте ошибка (что сложно понять, ибо вы не привели пример).this.$parent хотите поменять эти самые пропсы, чтобы они обновились и прокинулись опять же в этот компонент? О_о Вам не кажется, что вы делаете что-то не так?this.options.series[0] будет равен instance.series[0]). Я сам сначала все в график кидал через пропсы, чтоб компонент типа универсальный был. В итоге когда функционал вырос в несколько раз, все это стало очень сложно хендлить, плюс пошли просадки по памяти....mapState({
news: state => state.news,
});this.$store.state.newsconst actions = {
async fetchNews({ commit }) {
// Стреляете запрос в нужный эндпоинт
const { data } = await axios.get('http://your.api.endpoint');
if (data.result) {
// Записываете новости в стору с помощью мутации
commit(SET_NEWS, data.data);
} else {
// Обрабатываете ошибку, если не удалось получить новости
}
return data;
},
};v-if="news.length > 0". v-for="i in formCounter" выводите блоки с этими тремя инпутами и кнопкой.:name="`address-${i}`"const baseURL = process.env.API_BASE_URL || https://defaultValue.com;API_BASE_URL=http://example.com node index.jsthis.newDeal = Object.assign({}, this.newDealDefaultState);methods: {
toggle() {
this.isActive = !this.isActive;
}
}toggle: () => { на метод toggle() { и тогда все заработает.methods: {
logout() {
localStorage.removeItem('token');
this.$store.commit('changeUserData', {});
this.$store.commit('changeAuth', false);
}
}logout: () => {logout() {Стрелочные функции не создают собственный контекст this, а используют значение this окружающего контекста.
Vue.use() в зависимости от ширины экрана — это костыль. Подключать плагин вы должны в любом случае, а уже потом управлять его инициализацией и разрушением инстанса в какой-нибудь отдельной функции, которую вы подвяжете на resize эвент.window.innerWidth. sendMessage(), внутри которого бы проверял пол юзера и совершал нужные действия. Но тут уже вам надо будет подумать, где и как вы будете хранить пол юзера.<textarea v-on:keypress.enter.prevent="input.length && sendMessage()" id="chat_msg" placeholder="" v-model="input"></textarea>methods: {
sendMessage() {
if (this.data.isMale) {
// do something for men
} else {
// do something for women
}
},
}, <textarea
@keypress.enter.prevent="input.length && newMessage()"
id="chat_msg"
placeholder=""
v-model="input"
>
</textarea>isActive. Ну и кстати, для разворачивания табов не обязательно использовать какие-то data- атрибуты. Ну и плюс в темплейте у тебя верстка неполная какая-то, тэги не закрыты, например.<template>
<div>
<li v-for="(item, index) in itemsVisibility"
:data-rel="`ex-${index}`"
@click="expand(index)"></li>
<div v-for="(item, index) in itemsVisibility"
v-show="itemsVisibility[index]"
:class="{ active: itemsVisibility[index] }"
:data-rel="`ex-${index}`"
@mouseleave="expand(index)"></div>
</div>
</template>
<script>
export default {
data() {
return {
itemsVisibility: [
true, // первый таб по дефолту открыт
false,
false,
],
};
},
methods: {
expand(index) {
this.itemsVisibility[index] = !this.itemsVisibility[index];
},
},
};
</script> watch: {
'$route.params.list_slug': function (listSlug) {
console.log(listSlug); // выводим новое значение параметра роута
this.doSomething(); // выполняете что нужно
},
},watch: {
'$route': function (to, from) {
// выполняем что-либо, когда роут меняется
},
},