이번에는 Vue 팝업 메시지 컴포넌트 사용 방법을 알려드리겠습니다. Vue 팝업 메시지 컴포넌트 사용 시 주의사항은 무엇인가요? 다음은 실제 사례입니다.
원래 프롬프트 완료 후 자동으로 사라지는 팝업창을 작성하려고 했는데 페이드인, 페이드아웃 효과에 대해서는 생각하지 못했습니다. 따라서 현재로서는 반제품으로 간주됩니다.
연습 코드는 다음과 같습니다.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>ys-alert-component</title> <style> input { border-radius: 5px; border: 1px solid #2f9df9; background-color: #39befb; background: -webkit-gradient(linear, 0 0, 0 100%, from(#39befb), to(#2091fc)); background: -moz-gradient(linear, 0 0, 0 100%, from(#39befb), to(#2091fc)); background: -o-gradient(linear, 0 0, 0 100%, from(#39befb), to(#2091fc)); background: -ms-gradient(linear, 0 0, 0 100%, from(#39befb), to(#2091fc)); color: #FFFFFF; height: 28px; padding: 0 20px; cursor: pointer; line-height: 28px; display: inline-block; margin-right: 5px; outline: none; } .ys-alert { display: inline-block; height: 26px; padding: 8px 25px; min-width: 200px; border-radius: 5px; box-shadow: 0 4px 12px rgba(0,0,0,.5); background: #b8d2f3; margin: 50px; } .icon { float: left; width: 26px; height: 26px; border: 3px solid #fff; border-radius: 50%; font-size: 16px; line-height: 20px; font-weight: bold; text-align: center; color: #fff; box-sizing: border-box; margin-right: 8px; } .content { float: left; line-height: 26px; font-size: 15px; color: #fff; } /*成功的样式*/ .success { background: #9bdda7; } /*失败的样式*/ .error { background: #f7d13b; } /*警告样式*/ .warning { background: #e98c97; } </style> <script src="https://unpkg.com/vue/dist/vue.js"></script> </head> <body> <p id="app"> <input type="button" value="呼唤默认的按钮" @click="alertShow('info')"> <input type="button" value="呼唤成功的按钮" @click="alertShow('success')"> <input type="button" value="呼唤失败的按钮" @click="alertShow('error')"> <input type="button" value="呼唤警告的按钮" @click="alertShow('warning')"> <input type="button" value="呼唤美美哒博客" @click="alertShow('yuki')"> <ys-alert-component icon-bar="O" type="info" v-if="info" alert-content="我是默认的按钮哟"> </ys-alert-component> <ys-alert-component icon-bar="V" type="success" v-if="success" alert-content="我是成功的按钮哟"> </ys-alert-component> <ys-alert-component icon-bar="X" type="error" v-if="error" alert-content="我是失败的按钮哟"> </ys-alert-component> <ys-alert-component icon-bar="!" type="waring" v-if="warning" alert-content="我是警告的按钮哟"> </ys-alert-component> <ys-alert-component icon-bar="E" type="" v-if="yuki" alert-content="我是灰色定制的按钮哟" style="background-color: #ccc; color: #fff;"> <p slot="alert-content"> <span>章鱼不丸子</span> <a href="http://www.yuki.kim" rel="external nofollow" >http://www.yuki.kim</a> </p> </ys-alert-component> </p> <script> /* props: type: info: 默认 success: 成功 error: 失败 warning:警告 iconBar: 字符串,我没有图标,就用字母写的。很low... alertContent: 定制提醒的内容 hideIcon: 隐藏或者显示丑丑的图标 slot: alert-content: 定制提醒信息内容及icon整套模板 methods: 无,没有写方法 */ Vue.component("ys-alert-component", { props: { iconBar: { type: String, default: "" }, alertContent: { type: String, default: "请定制提醒内容" }, hideIcon: { type: Boolean, default: false }, type: { type: String, default: "" } }, template:` <p class="ys-alert" :class="type"> <slot name="alert-content"> <p class="icon" >{{ iconBar }}</p> <p class="content"> {{ alertContent }} </p> </slot> </p>` }) var vm = new Vue({ el: "#app", data: { info: false, error: false, success: false, warning: false, yuki: false }, methods: { alertShow (type) { switch (type) { case "info" : this.info = !this.info; //setTimeout("vm.info = !vm.info", 2000); break; case "error" : this.error = !this.error; //setTimeout("vm.error = !vm.error", 2000); break; case "success" : this.success = !this.success; //setTimeout("vm.success = !vm.success", 2000); break; case "warning" : this.warning = !this.warning; //setTimeout("vm.warning = !vm.warning", 2000); break; default: this.yuki = !this.yuki; //setTimeout("vm.yuki = !vm.yuki", 2000); } } } }) </script> </body> </html>
이 기사의 사례를 읽으신 후 방법을 마스터하셨다고 생각합니다. 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트의 다른 관련 기사를 주목하세요!
추천 자료:
Vue를 사용하여 PopupWindow 구성 요소를 구현하는 방법
위 내용은 Vue 팝업 메시지 구성 요소를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!