vue--动画收缩
首先 install vuex
创建store文件夹
在 store 文件夹分别建立
state.js
- // 状态管理
- // 定义state 原始数据
- const state = {
- fullScreen: false
- }
- export default state
mutation-types.js
- // 定义Mutations相关的字符串常量
- // Mutations的修改动作
- export const SET_FULL_SCREEN = 'SET_FULL_SCREEN'
mutations.js
- // Mutations 定义对数据修改的逻辑
- import * as types from './mutation-types'
- const mutations = {
- [types.SET_FULL_SCREEN](state, flag) {
- state.fullScreen = flag
- }
- }
- export default mutations
actions.js
- // 对mutation进行封装
- import * as types from './mutation-types'
- export const selectPlay = function ({commit, state}, {list, index}) {
- commit(types.SET_FULL_SCREEN, true)
- }
getters.js
- // 获取state 对数据进行映射 用getters取state的数据去到组件里
- // getters可以是个函数 类似于计算属性 可以根据state的不同值计算出新的值 可以在getters里写一些复杂的判断逻辑
- export const fullScreen = state => state.fullScreen
index.js
- // 入口
- import Vue from 'vue'
- import Vuex from 'vuex'
- import * as actions from './actions'
- import * as getters from './getters'
- import state from './state'
- import mutations from './mutations'
- import createLogger from 'vuex/dist/logger'
- Vue.use(Vuex)
- const debug = process.env.NODE_ENV !== 'production'
- export default new Vuex.Store({
- actions,
- getters,
- state,
- mutations,
- strict: debug,
- plugins: debug? [createLogger()] : []
- })
在main.js导入store
- import Vue from 'vue'
- import App from './App'
- import router from './router'
- import store from './store'
- /* eslint-disable no-new */
- new Vue({
- el: '#app',
- store,
- router,
- render: h => h(App)
- })
创建meow.vue
- <template>
- <div class="meow">
- <transition name="normal">
- <div class="normal-vue" v-show="fullScreen">
- <div class="background">
- </div>
- <div class="top">
- <div class="back" @click="back">
- <i class="icon-back"></i>
- </div>
- <h1 class="title"></h1>
- <h2 class="subtitle"></h2>
- </div>
- </div>
- </transition>
- <transition name="mini">
- <div class="mini-vue" v-show="fullScreen">
- <div class="icon">
- </div>
- <div class="text">
- <h2 class="name"></h2>
- <p class="desc"></p>
- </div>
- </div>
- </transition>
- </div>
- </template>
script
- <script type="text/ecmascript-6">
- import { mapGetters, mapMutations } from 'vuex'
- export default {
- computed: {
- ...mapGetters([
- 'fullScreen'
- ])
- },
- methods: {
- back() {
- this.setFullScreen(false)
- },
- open() {
- this.setFullScreen(true)
- },
- ...mapMutations({
- setFullScreen: 'SET_FULL_SCREEN'
- })
- }
- }
- </script>
css
- <style lang="stylus" scoped>
- .meow
- .normal-vue
- position: fixed
- left:
- right:
- top:
- bottom:
- z-index:
- background: #aaaaaa
- .background
- position: absolute
- left:
- top:
- width: %
- height: %
- z-index: -
- opacity: 0.6
- filter: blur(20px)
- .top
- position: relative
- margin-bottom: 25px
- .back
- position absolute
- top:
- left: 6px
- z-index:
- .icon-back
- display: block
- padding: 9px
- font-size: 16px
- color: #003a39
- transform: rotate(-90deg)
- .title
- width: %
- margin: auto
- line-height: 40px
- text-align: center
- no-wrap()
- font-size: 18px
- color: #fff
- .subtitle
- line-height: 20px
- text-align: center
- font-size: 14px
- color: #fff
- .mini-vue
- display: flex
- align-items: center
- position: fixed
- left:
- bottom:
- z-index:
- width: %
- height: 60px
- background: #a1a1a1
- .icon
- flex: 40px
- width: 40px
- padding: 10px 20px
- .text
- display: flex
- flex-direction: column
- justify-content: center
- flex:
- line-height: 20px
- overflow: hidden
- .name
- margin-bottom: 2px
- no-wrap()
- font-size: 14px
- color: #fff
- .desc
- no-wrap()
- font-size: 12px
- color: #
- </style>
vue--动画收缩的更多相关文章
- vue动画的用法
vue动画 在vue.js中有两种写动画的方法,第一种就是像js里一样,用原生代码来实现,第二种则是使用animate.css的动画类文件,这个动画类和bootstrap.css文件类似,直接调用类就 ...
- vue动画及其原理
1,vue动画的实现原理,主要是通过在不同时期给需要动画的dom元素加上css动画样式 我们以显示和隐藏动画为例 a, 需要动画的dom元素 b,点击时vue控制往vue中加的样式 2, 我们以两张 ...
- vue教程3-02 vue动画
vue教程3-02 vue动画 以下代码,已经用包管理器下载好vue,animate <!DOCTYPE html> <html lang="en"> &l ...
- vue动画实现方式
vue动画实现方式 <!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset=&q ...
- vue动画理解,进入、离开、列表过度和路由切换。
vue的动画对于很多初学者,甚至对很多老鸟来说也是很费劲,不容易控制的. 这篇文章讲vue动画的理解.其实没那么难. 动画理解 一个元素从A状态变成B状态,如果这个过程通过某种方式反应在视图上了,那么 ...
- Vue动画操作
概述 Vue 在插入.更新或者移除 DOM 时,提供多种不同方式的应用过渡效果.包括以下工具: 在 CSS 过渡和动画中自动应用 class 可以配合使用第三方 CSS 动画库,如 Animate.c ...
- vue 动画原理 part1
Vue动画原理 增加和删除css增加样式实现一个过渡效果也就是动画效果 1.需要动画效果的标签外包裹一个transition标签 会被自动分析css样式,然后自动构建一个动画流程 transition ...
- Javascript - Vue - 动画
动画状态类名 vue动画通过将需要执行动画的标签放入transition标签中,再通过设置预置的vue动画类名的css样式来控制动画的呈现效果. 开场动画状态的三个类名 v-enter:动画开始之前的 ...
- 15.vue动画& vuex
Vue.config.productionTip = false; ==是否显示提示信息== ==import/export== export xxx 必须跟跟对象或者和定义一起 对象: export ...
- vue动画
最近想搞搞vue的过渡和动画,以为照着官网写就好了,谁知道还是出现一些状况 具体表现就是不用webpack打包时候写的过渡是正常的,而用了webpack打包就不正常了 说使用了未定义的element: ...
随机推荐
- 【JVM】-NO.113.JVM.1 -【JDK11 HashMap详解-4-resize()】
Style:Mac Series:Java Since:2018-09-10 End:2018-09-10 Total Hours:1 Degree Of Diffculty:5 Degree Of ...
- 20175211 2017-2018-2 《Java程序设计》第六周学习记录
目录 7.1 内部类 7.2 匿名类 7.3 异常类 断言 参考资料 <Java 2实用教程>第七章 内部类和异常类 7.1 内部类 内部类的外嵌类的成员变量在内部类中依然有效,内部类中的 ...
- MFC 对话框不显示,返回-1 原因
DoModal失败原因 1.MFC 通常对话框不显示的原因有 1 父窗口HWND无效 2 在ONINITDIALOG里用了ENDDIALOG 3 无效的对话框资源ID 4 使用没有注册的的自定义控件 ...
- linux c tcp p2p
江湖上一直都有这位哥哥的传说,也有很多人说自己就他的真身! 但是... 今天分享一下TCP连接的P2P demo,江湖的规矩也要与时俱进... ———————————————————————————— ...
- linux----------CentOS的一些除了yum安装以外的基本操作命令。
1.tail -n 5 文件名字 : 查看大型文件的后五行内容 head -n 5 文件名字 : 查看文件的前五行内容 2.ls -lh 可以查看文件大小转换以后 ...
- 微信小程序之图片base64解码
不知道大家在做微信小程序的时候遇到base64解码的问题,我之前在做微信小程序的时候遇到base64解析图片一直有问题,所以在这里把遇到的问题和解决方案在这里记录一下: 在平时的项目中我们是直接用ba ...
- jieba(杰巴)分词的三种模式
jieba(结巴)是一个强大的分词库,完美支持中文分词,做为最好的Python中文分词组件. 安装:pip install jieba 特点 支持三种分词模式: 1.精确模式,试图将句子最精确地切开, ...
- Android Glide 加载图片
0.借鉴文章地址:http://blog.csdn.net/zivensonice/article/details/51835802 和 http://www.cnblogs.com/zhaoyanj ...
- Seq2Seq ---学习笔记
应用场景:机器翻译 与language model 不同 MT model 的a<0> 是由encoder 生成的. language model 的 a<0> 是 初始化的. ...
- Centos7 下安装mysql5.7.17(glibc版)
一.安装前的检查 1.1 检查 linux 系统版本 [root@localhost ~]# cat /etc/system-release 1.2 检查是否安装了 mysql [root@local ...