<div class="news-block" v-for="(news, index) in news" :key="index" @click="showModal = true">
<div class="news-block__img" :style="`background-image: url(${news.img});`"></div>
<div class="news__block__right"><span class="news-block__date">{{ news.date }}</span>
<p class="news-block__text">
{{ news.title }}
</p>
<span class="news-block__label">Мини-КАСКО</span>
</div>
<popup v-if="showModal" @close="showModal = false">
<div slot="title">{{ news.title }}</div>
</popup>
</div>
<template id="modal-template">
<div class="main-news-popup">
<div class="news-popup">
<div class="overlay"></div>
<div class="news-popup__content">
<div class="news-popup__content__close" @click="$emit('close')"></div>
<div class="news-popup__content__top">
<div class="news-popup__content__top__left" style="background-image:url(../../../../static/img/car.jpg)"></div>
<div class="news-popup__content__top__right">
<div class="news-popup__content__title">
<slot name="title"></slot>
</div>
<div class="news-popup__content__top__bottom">
<span class="news-popup__content__top__bottom__date">
<slot name="date"></slot>
</span>
<span class="news-block__label">Рейтинги</span>
</div>
</div>
</div>
<div class="news-popup__content__bottom">
<p class="news-popup__content__bottom__p">Рейтинговое агентство RAEX (Эксперт РА) подтвердило рейтинг финансовой надежности ПАО "САК «ЭНЕРГОГАРАНТ» на уровне ruАА- со стабильным прогнозом.</p>
<p class="news-popup__content__bottom__p">В числе позитивных факторов, влияющих на рейтинг, аналитики выделяют стабильность структуры страхового портфеля, низкую убыточность по основным видам деятельности, низкую зависимость от основных клиентов и финансовый результат, характеризующийся высокими показателями рентабельности собственных средств.</p>
<p class="news-popup__content__bottom__p">Позитивное влияние на уровень рейтинга оказывает высокое качество активов страховщика, а также высокое отклонение фактического размера маржи платежеспособности от нормативного значения (132,4% на 30.09.2017).</p>
<p class="news-popup__content__bottom__p">Энергогарант - крупный федеральный страховщик, занимающий существенную долю на российском рынке, что, согласно методологии Агентства, выделяется в качестве фактора поддержки уровня рейтинга. Стратегия компании соответствует текущему состоянию экономики, страховой портфель компании характеризуется высокой диверсификацией по видам и географии деятельности, говорится в пресс-релизе RAEX.</p>
<a class="news-popup__content__bottom__a" href="#">https://raexpert.ru/releases/2017/Dec26</a>
</div>
</div>
</div>
</div>
</template>
.news-popup__content__close
, генерируется событие click, оно обрабатывается - выполняется emit, генерируется событие close, оно обрабатывается в соответствующем обработчике, popup убирается. При этом событие click никуда не делось, оно всплывает, и в .news-block
обрабатывается ещё раз - только что удалённый popup снова рендерится. Ну а внешне это всё выглядит так, будто ничего и не произошло.<div class="news-popup__content__close" @click="$emit('close')"></div>
<div class="news-popup__content__close" @click.stop="$emit('close')"></div>
.news-block
у вас отдельный popup, что за дичь-то такая?