做一个vue模态弹出框如何
运用的知识点包括:
路由的配置
插槽
vue的过渡动画
路由重定向
router/index.js里面配置路由
- import Vue from 'vue'
- import Router from 'vue-router'
- import Home from '@/components/home'
- import About from '@/components/about'
- Vue.use(Router)
- export default new Router({
- mode:'history',
- routes: [
- {
- path: '/home',
- name: 'Home',
- component: Home
- },
- {
- path: '/about',
- name: 'About',
- component: About
- },
- { path: '/', redirect:'/home' }
- ]
- })
app.vue
- <template>
- <div id="app">
- <router-link :to="{path:'/home'}">home</router-link>
- <router-link :to="{path:'/about'}">about</router-link>
- <router-view/>
- </div>
- </template>
- <script>
- export default {
- name: 'App'
- }
- </script>
- <style>
- #app {
- font-family: 'Avenir', Helvetica, Arial, sans-serif;
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale;
- text-align: center;
- color: #2c3e50;
- margin-top: 60px;
- }
- </style>
home.vue
- <template>
- <div class="home">
- <p>{{msg}}</p>
- <transition name="slide-fade">
- <v-modal v-show="modalStatus" :title="title" :content="content" :btnType="btnType">
- <slot>
- </slot>
- </v-modal>
- </transition>
- <button @click="openHomeModal()">打开modal</button>
- </div>
- </template>
- <script>
- import Modal from "@/components/modal.vue";
- export default {
- name: "HelloWorld",
- data() {
- return {
- msg: "我是首页信息",
- modalStatus: false,
- title: "我是首页,我骄傲",
- content: "我是首页的内容",
- };
- },
- components: {
- "v-modal": Modal
- },
- methods: {
- openHomeModal() {
- this.modalStatus = true;
- }
- }
- };
- </script>
- <!-- Add "scoped" attribute to limit CSS to this component only -->
- <style scoped lang="scss">
- /* 可以设置不同的进入和离开动画 */
- /* 设置持续时间和动画函数 */
- .slide-fade-enter-active {
- transition: all .3s ease;
- }
- .slide-fade-leave-active {
- transition: all .2s cubic-bezier(1.0, 0.5, 0.8, 1.0);
- }
- .slide-fade-enter, .slide-fade-leave-to
- /* .slide-fade-leave-active for below version 2.1.8 */ {
- transform: translateY(-10px);
- opacity: 0;
- }
- </style>
about.vue
- <template>
- <div class="about">
- <p>{{aboutmsg}}</p>
- <button @click="openHomeModal()">打开about里面的modal</button>
- <transition name="slide-fade">
- <v-modal v-show="modalStatus" :title="title" :content="content">
- <slot>
- </slot>
- </v-modal>
- </transition>
- </div>
- </template>
- <script>
- import Modal from "@/components/modal.vue";
- export default {
- data() {
- return {
- modalStatus: false,
- aboutmsg: "我是关于页面",
- title: "我是关于页面的title",
- content: "我是关于页面的内容",
btnType:["value":"确定","class":"default"]- };
- },
- methods: {
- openHomeModal() {
- this.modalStatus = true;
- }
- },
- components: {
- "v-modal": Modal
- }
- };
- </script>
- <style lang="scss">
- /* 可以设置不同的进入和离开动画 */
- /* 设置持续时间和动画函数 */
- .slide-fade-enter-active {
- transition: all .3s ease;
- }
- .slide-fade-leave-active {
- transition: all .2s cubic-bezier(1.0, 0.5, 0.8, 1.0);
- }
- .slide-fade-enter, .slide-fade-leave-to
- /* .slide-fade-leave-active for below version 2.1.8 */ {
- transform: translateY(-10px); //从上面下移,逐渐出现
- opacity: 0;
- }
- </style>
modal.vue
- <template>
- <div class="modal">
- <div class="header">{{title}}</div>
- <div class="content">{{content}}</div>
- <div class="footer">
- <slot></slot>
- </div>
- </div>
- </template>
- <script>
- export default{
- data(){
- return {}
- },
- props:['title','content'],
- }
- </script>
- <style lang="scss">
- .modal {
- width:500px;
- height:400px;
- position: absolute;
- top:50%;
- left:50%;
- margin-toP:-250px;
- margin-left:-200px;
- border:1px solid #666;
- .header {
- height:60px;
- line-height:60px;
- text-align: center;
- background:#666;
- border-bottom: 1px solid #000;
- box-sizing: border-box;
- }
- .content {
- background:orange;
- height:290px;
- }
- .footer {
- height:50px;
- line-height: 50px;
- button {
- vertical-align: middle;
- display: inline-block;
- width:80px;
- height:40px;
- line-height: 40px;
- color:#fff;
- &.danger{
- background:red;
- }
- &.default{
- background:#ddd;
- }
- }
- }
- }
- </style>
做一个vue模态弹出框如何的更多相关文章
- 做一个iframe的弹出框
群里有个人想在微信页面里面加弹出框.作为前端的我,想着不可能这样做.后来一个人说了: A:如果对方没有防盗链的话,你可以建个页面,内置iframe 到他的页面,然后把url 的参数也传入你的ifram ...
- Bootstrap模态弹出框
前面的话 在 Bootstrap 框架中把模态弹出框统一称为 Modal.这种弹出框效果在大多数 Web 网站的交互中都可见.比如点击一个按钮弹出一个框,弹出的框可能是一段文件描述,也可能带有按钮操作 ...
- UIPresentationController - iOS自定义模态弹出框
参考: https://developer.apple.com/library/archive/featuredarticles/ViewControllerPGforiPhoneOS/Definin ...
- 玩转Bootstrap(JS插件篇)-第1章 模态弹出框 :1-4 模态弹出框--结构分析
模态弹出框--结构分析 Bootstrap框架中的模态弹出框,分别运用了“modal”.“modal-dialog”和“modal-content”样式,而弹出窗真正的内容都放置在“modal-con ...
- 玩转Bootstrap(JS插件篇)-第1章 模态弹出框 :1-3 模态弹出框
模态弹出框(Modals) 这一小节我们先来讲解一个“模态弹出框”,插件的源文件:modal.js. 右侧代码编辑器(30行)就是单独引入 bootstrap 中发布出的“modal.js”文件. 样 ...
- 代码录播:jQueryMobile 实现一个简单的弹出框效果
今天给大家带来的是 jQueryMobile 实现一个简单的弹出框效果,有兴趣的童鞋可以试试哦~ ^_^ 阅读原文:www.gbtags.com
- bootstrap中的modal 模态弹出框不能放在 form_for里面,一弹出modal会自动submit掉form
bootstrap中的modal 模态弹出框不能放在 form_for里面,一弹出modal会自动submit掉form
- html、css和js原生写一个模态弹出框,顺便解决父元素半透明子元素不透明效果
模态框: html部分: <!-- 按钮 --> <button id="box" onclick="pop_box()">弹出框< ...
- 玩转Bootstrap(JS插件篇)-第1章 模态弹出框 :1-1导入JavaScript插件
导入JavaScript插件 Bootstrap除了包含丰富的Web组件之外,如前面介绍的下拉菜单.按钮组.导航.分页等.他还包括一些JavaScript的插件. Bootstrap的JavaScri ...
随机推荐
- SQL标量值函数:小写金额转大写
我们日常开发业务系统中,作为统计报表中,特别是财务报表,显示中文金额经常遇到. 转换大小写的方法有很多,以下是从数据库函数方面解决这一问题. 效果如图: 调用:SELECT dbo.[Fn_Conve ...
- linux 的有用的网站
从windows下移到linux下还有很长的路走阿,慢慢记录一些有用的网站吧 http://www.yolinux.com/ http://linux.die.net/
- 序列化 (C#)
序列化是指将对象转换成字节流,从而存储对象或将对象传输到内存.数据库或文件的过程. 它的主要用途是保存对象的状态,以便能够在需要时重新创建对象. 反向过程称为"反序列化". 序列化 ...
- 使用配置类而不使用XML文件(代替bean.xml)对spring进行配置
以下类是一个配置类,它的作用和bean.xml是一样的注解: @Configuration 作用: 用于指定当前类是一个spring配置类,当创建容器时会从该类上加载注解. 获取容器时需要使用Anno ...
- const define区别
可以使用defined()----检测常量是否设置 [问]在php中定义常量时,const与define的区别? [答]使用const使得代码简单易读,const本身就是一个语言结构,而define是 ...
- java二分法查找实现代码
package util; class BinarySearch { static int binarySearch(int[] array,int goal){//传入排好序的数组和目标数字 int ...
- 【转载】Hyperledger学习小结
Hyperledger学习小结 自学Hyperledger Composer也有段时间了,是时候对所学的知识总结一下了.因为没有实际项目参与的话,差不多也就到此为止了.后续可能会去了解一下以太坊的技术 ...
- CTS/APIO后文化课游记
根据ghj1222的尿性,干什么事都要写一个游记划水记啥的...然后就写嘛... 现在是5.30微机课,先开个坑,学校6.5放假,我将于6.5后开始更新本文 APIO回来后发生的事真的特别多...有的 ...
- JVM系列文章汇总
JVM中运行时数据区中的堆.栈.方法区等区域的特性介绍 Java中class文件的组成结构 JVM的类加载生命周期介绍 Java堆.新生代老年代的特点.堆中的内存分配策略 JVM垃圾收集算法详解 JV ...
- C语言的头文件和宏定义详解
原文链接:https://blog.csdn.net/abc_12366/article/details/79155540