vue_vuex - CSDN
vue 订阅
VUE 是 iOS 和 Android 平台上的一款 Vlog 社区与编辑工具,允许用户通过简单的操作实现 Vlog 的拍摄、剪辑、细调、和发布,记录与分享生活。 [1]  还可以在社区直接浏览他人发布的 Vlog,与 Vloggers 互动。 [2] 展开全文
VUE 是 iOS 和 Android 平台上的一款 Vlog 社区与编辑工具,允许用户通过简单的操作实现 Vlog 的拍摄、剪辑、细调、和发布,记录与分享生活。 [1]  还可以在社区直接浏览他人发布的 Vlog,与 Vloggers 互动。 [2]
信息
软件大小
46.7 MB
开发商
VUE VIDEO CO., LTD.
软件名称
VUE Vlog
更新时间
2019年3月30日
软件版本
3.1.4
软件平台
iOS,Android
软件语言
英文、简体中文
VUE产生背景
随着手机摄像头的发展,越来越多的人开始使用手机拍照和摄像。摄像一般来说要比拍照门槛高,但是视频传播的信息量又远大于照片。VUE 就诞生在这样的背景下,希望用拍照一样简单的操作,帮助用户在手机上拍摄精美的短视频。
收起全文
精华内容
参与话题
  • Vue2.x经典后台管理系统案例讲解

    千人学习 2020-07-17 14:01:00
    包括如何搭建环境,vuejs常用指令,使用ElementUI快速搭建页面,各类表单的创建和验证,vue组件使用,数据传递的各种方式,前端如何模拟数据,以及如何与后端接口联调等等。 为了让大家能构造出一个规范...
  • vue是什么

    万次阅读 多人点赞 2018-12-17 10:57:43
    vue 为什么要用vue 传统的网页形式是浏览器脚本语言js连接了各种各样的Html,css,但缺乏正规的组织形式,比如在页面元素非常多,结构很庞大的网页中,数据和视图如果全部混杂在一起,像传统开发一样全部混合在...

    vue

    为什么要用vue

    传统的网页形式是浏览器脚本语言js连接了各种各样的Html,css,但缺乏正规的组织形式,比如在页面元素非常多,结构很庞大的网页中,数据和视图如果全部混杂在一起,像传统开发一样全部混合在HTML中,那么要对它们进行处理会十分的费劲,并且如果其中有几个结构之间存在藕断丝连的关系,那么会导致代码上出现更大的问题,比如juqery中使用的

    $('#xxx').parent().parent().parent()
    

    一开始很好查找,但当页面结构发生变化,也就是说DOM的关联与嵌套层次要发生改变,那么之前的代码可能就会变成这样了:

    $('#xxx').parent().parent().parent().parent().parent()
    

    这样产品迭代后,对dom节点的查找操作等行为会有很大的性能损耗。

    vue是一款友好的、多用途的且高性能的js框架,它可以帮你创建可维护性和可测试性更强的代码库。官网对vue的优点描述是这样的:
    在这里插入图片描述

    1.易用:

    学习曲线平缓,api简洁,容易上手。学习过程较react来说比较容易,不那么痛苦

    2.灵活:

    如果你已经有一个现成的服务端框架,你可以将vue作为其中的一部分嵌入,带来更加丰富的交互系统 ,或者你希望将更多业务逻辑放到前端来实现,那么vue的核心库及其生态系统也可以满足你的各式需求,vue允许你将网页分割成可复用的组件,每个组件都可以包含自身的html,css,js文件,以用来渲染网页中相应的地方。

    3.高效:

    • 虚拟dom: 其数据全部在内存中,只有js引擎参与其中
      而真实dom会有浏览器渲染层在其中

    你的知道浏览器的虚拟DOM与真实DOM的区别(注意:需不需要虚拟DOM,其实与框架的DOM操作机制有关):

    虚拟DOM不会进行排版与重绘操作

    虚拟DOM进行频繁修改,然后一次性比较并修改真实DOM中需要改的部分(注意!),最后并在真实DOM中进行排版与重绘,减少过多DOM节点排版与重绘损耗

    真实DOM频繁排版与重绘的效率是相当低的

    虚拟DOM有效降低大面积(真实DOM节点)的重绘与排版,因为最终与真实DOM比较差异,可以只渲染局部(同2)

    使用虚拟DOM的损耗计算:

    总损耗 = 虚拟DOM增删改 + (与Diff算法效率有关)真实DOM差异增删改 + (较少的节点)排版与重绘

    直接使用真实DOM的损耗计算:

    总损耗 = 真实DOM完全增删改 + (可能较多的节点)排版与重绘

    只能说 虚拟DOM 只是减少了一些情况下, 对真实DOM操作的 次数.

    虚拟DOM只是个 JavaScript object

    它会在 对比 后再选择更新哪些DOM, 而不会像有些时候, 全部删除再重建.

    获取/修改 大量DOM元素的时候,就会先在 虚拟DOM 里 取值 对比.

    虚拟dom是在内存中维护的dom树,是在实体dom之上的一层抽象。有了这层抽象,不管是查询操作还是修改操作,都是先操作内存中的虚拟dom,在这个过程中可以做很多优化,从而减少对实体dom的操作。举两个例说明,1. 查询一个text标签的值,可以直接从虚拟dom中查找得到,根本不需要查询实体dom。2. 在一次操作中,要修改列表中的两条记录,要修改的元素会先把变更同步到虚拟dom上,然后根据最新的虚拟dom,一次性渲染出最终的实体dom,如果没有虚拟dom,两条记录的修改至少要对应两次对实体dom的操作,显然操作实体dom越频繁,网页速度越慢。

    对于vue.js的Virtual DOM,目前业界有着褒贬不一的评价。有人认为Vue.js作为一个轻量级框架,引入Virtual DOM会加大Vue.js本身的代码尺寸,也会消耗更多CPU(手机上会更耗电)(注意:消耗更多的CPU并不意味着会更卡,因为JavaScript计算是后台计算,他的计算量还不至于让DOM操作变得卡顿),并且在操作单个DOM元素的时候,反而多了一道计算工序,会更慢。但也有人认为基本上会用Vue.js开发的都是页面中内容很多的元素,肯定操作的DOM量级普遍较大,平均一下还是比较划算的。

    4.社区和第三方组件库丰富

    vue是什么

    1.Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的渐进式框架。

    这里渐进式框架也就是上边vue特点中的灵活一项,使用vue,你可以在原有大系统的上面,把一两个组件改用它实现,当jQuery用;也可以整个用它全家桶开发,当Angular用;

    比如说刚开始用数据绑定做一个表单,后来控制整个页面的dom,再后来用router控制路由做单页应用,组件配合,vuex与数据配合等等,使用vue,你可以在原有大系统的上面,把一两个组件改用它实现,当jQuery用;也可以整个用它全家桶开发,当Angular用。

    模块与可复用组件

    2.Vue 只关注视图层, 采用自底向上增量开发的设计。

    • 视图层:

    那么HTML中的DOM其实就是视图,一个网页就是通过DOM的组合与嵌套,形成了最基本的视图结构,再通过CSS的修饰,在基本的视图结构上“化妆”让他们看起来更加美观。最后涉及到交互部分,就需要用到JavaScript来接受用户的交互请求,并且通过事件机制来响应用户的交互操作,并且在事件的处理函数中进行各种数据的修改,比如说修改某个DOM中的innerHTML或者innerText部分。

    我们把HTML中的DOM就可以与其他的部分独立开来划分出一个层次,这个层次就叫做视图层。

    • MVVM

    是Model-View-ViewModel 的缩写,由 Model,View,ViewModel 三部分构成,Model 层代表数据模型,也可以在Model中定义数据修改和操作的业务逻辑;View 代表UI 组件,它负责将数据模型转化成UI 展现出来,ViewModel 是一个同步View 和 Model的对象。它是一种基于前端开发的架构模式,其核心是提供对View 和 ViewModel 的双向数据绑定,这使得ViewModel 的状态改变可以自动传递给 View,即所谓的数据双向绑定。

    在这里插入图片描述
    在这里插入图片描述
    Vue.js 是一个提供了 MVVM 风格的双向数据绑定的 Javascript 库,专注于View 层。它的核心是 MVVM 中的 VM,也就是 ViewModel。 ViewModel负责连接 View 和 Model,保证视图和数据的一致性,这种轻量级的架构让前端开发更加高效、便捷。

    • MVC

    控制器负责对模型中的数据进行更新,而视图向模型中请求数据;当有用户的行为触发操作时,会有控制器更新模型,并通知视图进行更新,在这时视图向模型请求新的数据
    在这里插入图片描述

    3.Vue 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。

    • 响应的数据绑定:

    就是vue.js会自动响应数据的变化情况,并且根据用户在代码中预先写好的绑定关系,对所有绑定在一起的数据和视图内容都进行修改。而这种绑定关系,在图上是以input 标签的v-model属性来声明的,因此你在别的地方可能也会看到有人粗略的称vue.js为声明式渲染的模版引擎。

    <!DOCTYPE html>
    <html lang="en">
    <head>
    	<meta charset="UTF-8">
    	<title>vue.js测试 -</title>
    	<script src="https://unpkg.com/vue/dist/vue.js"></script>
    </head>
    <body>
    	<div id="app">
    		<input type="text" name="" value="" placeholder="在这里输入文字,下面会跟着变化" v-model="message">
    		<hr>
    		<p>{{ message }}</p>
    	</div>
    	<script type="text/javascript">
    		var app = new Vue({
    		  el: '#app',
    		  data: {
    		    message: 'Hello Vue!'
    		  }
    		})
    	</script>
    </body>
    </html>
    
    
    • 组合的视图组件:

    Vue.js通过组件,把一个单页应用中的各种模块拆分到一个一个单独的组件(component)中,我们只要先在父级应用中写好各种组件标签(占坑),并且在组件标签中写好要传入组件的参数(就像给函数传入参数一样,这个参数叫做组件的属性),然后再分别写好各种组件的实现(填坑).

    组件自由组合形成功能完整的界面,当不需要某个组件,或者想要替换某个组件时,可以随时进行替换和删除,而不影响整个应用的运行(组件化)

    在这里插入图片描述

    • 组件化优点:
      提高开发效率
      方便重复使用
      简化调试步骤
      提升整个项目的可维护性
      便于协同开发
    展开全文
  • VUE是目前最火的前端框架之一,就业薪资很高,本课程教您如何快速学会VUE并应用到实战,教你如何解决内存泄漏,常用UI库的使用,自己封装组件,正式上线白屏问题,性能优化等。对正在工作当中或打算学习VUE高薪就业...
  • Vue2.x从入门到实战

    万人学习 2019-06-24 13:10:47
    课程从Vue2.x版本的入门,一直到实战课程共58集。包括内部指令、全局API、选项、实例和内置组件、Vue-cli、Vue-router、vuex。后有一门Vue实战,带你作一个快餐店的收银系统。
  • Vue.js 2.0之全家桶系列视频课程

    万人学习 2020-07-15 21:01:25
    基于新的Vue.js 2.3版本, 目前新全的Vue.js教学视频,让你少走弯路,直达技术前沿! 1. 包含Vue.js全家桶(vue.js、vue-router、axios、vuex、vue-cli、webpack、ElementUI等) 2. 采用笔记+代码案例的形式讲解,...
  • Vuejs 本身就是一个 MVVM 的框架。 但是在监听 window 上的 事件 时,往往会显得 力不从心。 比如 这次是 window.resize ...问题: 今天我也 遇到了这样一个问题, 是关于canvas 自适应。...备注: 重要的问题说三遍...

    Vuejs 本身就是一个 MVVM 的框架。

    但是在监听 window 上的 事件 时,往往会显得 力不从心。

    比如 这次是 window.resize

    恩,我做之前也是百度了一下。看到大家伙都为这个问题而发愁。

    问题: 今天我也 遇到了这样一个问题, 是关于canvas 自适应。 根据窗口的变化去变化 canvas 的宽度


    备注: 重要的问题说三遍 解决 框架内的bug 先说 框架 版本 版本 版本 (这里用的 Vue 2.x 、ES6)


    解决方案:

    方 案 一 :
    
    • 1
    • 2

    1.第一步: 先在 data 中去 定义 一个记录宽度是 属性

        data: {
                screenWidth: document.body.clientWidth   // 这里是给到了一个默认值 (这个很重要)
        }
    
    • 1
    • 2
    • 3
    • 4

    2.第二步: 我们需要 讲 reisze 事件在 vue mounted 的时候 去挂载一下它的方法

        mounted () {
            const that = this
            window.onresize = () => {
                return (() => {
                    window.screenWidth = document.body.clientWidth
                    that.screenWidth = window.screenWidth
                })()
            }
        }
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    3.第三步: watch 去监听这个 属性值的变化,如果发生变化则讲这个val 传递给 this.screenWidth

          watch: {
              screenWidth (val) {
                  this.screenWidth = val
              }
          }
    • 1
    • 2
    • 3
    • 4
    • 5

    4.第四步:优化 因为 频繁 触发 resize 函数,导致页面很卡的 问题

            watch: {
                screenWidth (val) {
                    if (!this.timer) {
                        this.screenWidth = val
                        this.timer = true
                        let that = this
                        setTimeout(function () {
                            // that.screenWidth = that.$store.state.canvasWidth
                            console.log(that.screenWidth)
                            that.init()
                            that.timer = false
                        }, 400)
                    }
                }
            }
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    方 案 二:
    
    在vue 2.x 里面的时候,可以在 mounted 钩子中 全局监听 resize 事件,然后绑定的函数再做具体的处理。
    
    也是亲测有效,比之前的方法会好很多。
    
    比如你设置了一个背景图和浏览器窗口相同高度,可以这么做 :
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    data(){
        return {
            clientHeight: '600px',
        },
    },
    mounted() {
        // 动态设置背景图的高度为浏览器可视区域高度
    
        // 首先在Virtual DOM渲染数据时,设置下背景图的高度.
        this.clientHeight.height = `${document.documentElement.clientHeight}px`;
        // 然后监听window的resize事件.在浏览器窗口变化时再设置下背景图高度.
        const that = this;
        window.onresize = function temp() {
            that.clientHeight = `${document.documentElement.clientHeight}px`;
        };
    },
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    展开全文
  • vue项目中需要监听window窗口变化来时时计算图片的高度,于是就加了一个监听事件;确实监听到了,但是在离开当前页面进入其他页面改变窗口大小时发现window还是处于监听状态,,即移除监听事件并没有生效。 //...

     在vue项目中需要监听window窗口变化来时时计算图片的高度,于是就加了一个监听事件;确实监听到了,但是在离开当前页面进入其他页面改变窗口大小时发现window还是处于监听状态,,即移除监听事件并没有生效。

        //之前的写法,这样写移除监听事件无效
        mounted(){
            window.addEventListener('resize',()=>{
                '改变窗口大小时需要做的处理'
            });
        },
        beforeDestroy() {
            window.removeEventListener("resize");
        }

    后来查找相关资料后发现用下面这种写法可以移除监听

        methods: {
            listenResize(){
                '窗口大小改变时的操作'
            }
        },
        mounted(){
            window.addEventListener('resize',this.listenResize);  
        },
        beforeDestroy() {
            window.removeEventListener("resize",this.listenResize);
        }

     

    展开全文
  • VueJs 监听 window.resize 方法

    千次阅读 2017-11-08 17:05:03
    Vuejs 本身就是一个 MVVM 的框架。 但是在监听 window 上的 事件 时,往往会显得 力不从心。 比如 这次是 window.resize ...问题: 今天我也 遇到了这样一个问题, 是关于canvas 自适应。...备注: 重要的问题说三遍...

    Vuejs 本身就是一个 MVVM 的框架。

    但是在监听 window 上的 事件 时,往往会显得 力不从心。

    比如 这次是 window.resize

    恩,我做之前也是百度了一下。看到大家伙都为这个问题而发愁。

    问题: 今天我也 遇到了这样一个问题, 是关于canvas 自适应。 根据窗口的变化去变化 canvas 的宽度

    备注: 重要的问题说三遍 解决 框架内的bug 先说 框架 版本 版本 版本 (这里用的 Vue 2.x 、ES6) 

    解决方案:

    方案一:

    第一步: 先在 data 中去 定义 一个记录宽度是 属性

    data: {
        screenWidth: document.body.clientWidth   // 这里是给到了一个默认值 (这个很重要)
    }

    第二步: 我们需要 讲 reisze 事件在 vue mounted 的时候 去挂载一下它的方法

            mounted () {
                const that = this
                window.onresize = () => {
                    return (() => {
                        window.screenWidth = document.body.clientWidth
                        that.screenWidth = window.screenWidth
                    })()
                }
            }

    第三步: watch 去监听这个 属性值的变化,如果发生变化则讲这个val 传递给 this.screenWidth

            watch: {
                screenWidth (val) {
                    this.screenWidth = val
                }
            }

    第四步:优化 因为 频繁 触发 resize 函数,导致页面很卡的 问题

            watch: {
                screenWidth (val) {
                    if (!this.timer) {
                        this.screenWidth = val
                        this.timer = true
                        let that = this
                        setTimeout(function () {
                            // that.screenWidth = that.$store.state.canvasWidth
                            console.log(that.screenWidth)
                            that.init()
                            that.timer = false
                        }, 400)
                    }
                }
            }

    最后一步: 去看看你想要的结果吧~ 

    方案二:

    vue 2.x 里面的时候,可以在 mounted 钩子中 全局监听 resize 事件,然后绑定的函数再做具体的处理。
    
    也是亲测有效,比之前的方法会好很多。原文出自http://www.cnblogs.com/erbingbing/p/6340930.html
    
    展开全文
  • vue.js 三种方式安装(vue-cli)

    万次阅读 多人点赞 2018-11-18 11:33:25
    Vue.js(读音 /vjuː/, 类似于 view)是一个构建数据驱动的 web 界面的渐进式框架。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。它不仅易于上手,还便于与第三方库或既有项目整合。 ...
  • Vue + Spring Boot 项目实战(一):项目简介

    万次阅读 多人点赞 2020-09-03 22:26:42
    白卷是一款使用 Vue+Spring Boot 开发的前后端分离项目。除用于入门练手之外,亦可作为搭建小型 Web 项目的脚手架。
  • 什么是vue?为什么用vue

    万次阅读 多人点赞 2019-02-12 15:45:47
    综合:https://segmentfault.com/a/1190000015560315 https://blog.csdn.net/liang377122210/article/details/71545459 ...这几篇都写得非常好 1.Vue.js是什么? vue就是一个js库,...
  • 什么是VUE?为什么用VUE

    万次阅读 多人点赞 2018-05-24 13:28:01
    Vue.js新手入门指南 最近在逛各大网站,论坛,以及像SegmentFault等编程问答社区,发现Vue.js异常火爆,重复性的提问和内容也很多,楼主自己也趁着这个大前端的热潮,着手学习了一段时间的Vue.js,目前用它正在做...
  • 什么是vue脚手架

    万次阅读 2017-09-11 15:41:09
    通俗点讲透vue的脚手架的意思
  • git上看到一个基于vue的工程 不知道用什么IDE打开的 菜鸟初学Vue 望大神指点 ![图片说明](https://img-ask.csdn.net/upload/201611/18/1479438949_866064.png) git地址:https://github.com/bajian/vue-drawer
  • 全局安装vue-cli之后,命令行执行vue -V,提示:“vue”不是内部或外部命令,也不是可执行的程序或批处理文件 : 第一步:安装nodejs : 第二步:全局安装vue-cli //全局安装vue-cli之后,命令行执行vue -V,提示:...
  • Vue.js 是什么?  Vue.js是一个轻巧、高性能、可组件化的MVVM库,同时拥有非常容易上手的API;  我们都知道单页面应用:页面切换快 ,首屏时间稍慢,SEO差 js 渲染  (多页面应用: 首屏时间快,SEO好 切换...
  • vue-cli是什么

    万次阅读 2017-07-25 11:14:49
    vue-cli是什么vue-cli 是vue.js的脚手架,用于自动生成vue.js+webpack的项目模板,分为vue init webpack-simple 项目名 和vue init webpack 项目名 两种。 当然首先你的安装vue,webpack,node等一些必要的...
  • vue打包命令

    万次阅读 2019-01-05 14:30:03
    找到你的packe.json文件 找到 scripts 里面的命令 打包命令: npm run build
  • 解决Vue.js not detected的问题

    万次阅读 多人点赞 2019-03-21 17:16:07
    前几天遇到了一个问题,在安装完Vue.js devtools后,打开自己写的一个vue.js网页,发现这个图标并没有亮起来,还是灰色,点击图标显示Vue.js not detected,打开控制台也没有发现有vue的选项 网上找了很多解决方案都...
  • vue前端+java后端

    万次阅读 热门讨论 2017-03-05 20:11:34
    在jsp里写vue 也就是所把jquery换成vue就行 (不知道这样能做spa吗? 好像也能做, 感觉会很乱, 适合微型项目) 方案二: 既然使用vue,那就不要使用jsp了,jsp是后端渲染,生成页面发给浏览器,使用vue用浏览器渲染...
1 2 3 4 5 ... 20
收藏数 534,432
精华内容 213,772
关键字:

vue