【发布时间】:2020-09-18 21:08:26
【问题描述】:
我正在使用 Laravel 6。我有一个按钮,当它被点击时会被触发。点击事件做了两件事。它向按钮添加了一个 css 类,该按钮显示了一个动画 svg 微调器,以指示正在加载某些内容,并将信息发送到我的控制器,该控制器发送一封电子邮件。 微调器类在单击按钮后立即设置,但问题是微调器仅在发送邮件时显示。但我希望在发送时显示微调器,以便用户知道他必须等待。
这是我的 .spinner 类
.spinner {
background-image: url(storage/app/public/img/spinner.svg);
background-size: 100% 100%;
height: 40px;
width: 40px;
}
这是我的子组件中可以点击的按钮:
<button class="btn btn-success teamplayerButton" @click="addSpinner($event.target); $emit('del-match', match.id);">Add
</button>
子组件上的addSpinner方法:
addSpinner(match) {
match.classList.toggle('spinner');
match.innerText = "";
}
父组件获取发出的 match.id 并向发送邮件的路由发出 get 请求,如下所示:
Mail::to($email)->send(new ReceivedInvitation(Auth::user()->name, $receiverName));
这是一个简短的视频,向您展示我的意思。 click here
为什么 css 依赖于后端的 php(laravel) 做什么? css 会立即设置,但动画会在几秒钟后显示。 当我在我的控制器中删除邮件功能的调用,然后再试一次,微调器立即显示。
【问题讨论】:
标签: javascript php css laravel vue.js