A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 武汉分校-小舞 于 2017-8-8 10:48 编辑

【前端学科技术分享】武汉校区独家分享:vue.js

更多学习资源请关注微信公众号
“黑马程序员武汉中心”

vue 的一些语法和 Angular 的很相似,vue 的指令以 v-开始,而 angular 以 ng-开始(例如 v-if vs ng-if),数据绑定的方式也是一样的两个{}。这是由于 vue 早期的灵感来自于angular,对 angular 的研究对我学习 vue.js 的框架能起到很好的引导作用。
1)简介:
Vue.js是由尤雨溪大神开发的一套用于构建用户界面的渐进式框架。与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计。Vue 的核心库只关注视图层,有易于上手,便于与第三方库或既有项目整合的优点。
  vue 的核心为数据驱动和组件化。vue 通过 MVVM 的数据绑定实现自动同步,原理如下图:

  关于组件化:界面上各个部分分别对应着 ViewModel Tree 的各个分支,如下图:

2)与 angular 的不同点:
双向数据绑定的机制不同:angular 主要是利用脏检测,而 vue 利用的是依赖收集机制。

   在 angular 中,当 watcher 越来越多时会变得越来越慢,这是由于作用域内的每一次变化,watcher 的所有值都会重新计算。并且,如果一些 watcher 触发另一个更新,脏检查循环(digest cycle)可能要运行多次,这样无形之中会消耗很大的性能。

   而 vue 依赖收集机制的实现类似 Knockout,精确到每一个属性,做到了避免大量的循环检查,比脏检测效率高很多,性能也不受限于 watcher 的数量。引入的包大小的方面,angular 明显比 vue 大,vue 的包 18kb,无外部依赖,更适合移动端的开发。

3)使用:
在学习阶段,我主要是直接引入vue.js 文件来熟悉 vue 的基本使用,练习官网文档上的 demo 来加深自己对相应步骤和一些指令的了解,有以下几点

可以总结:
1.new 一个 vue 对象的时候可以设置它的属性,最主要的三个属性为:data、methods,watch。
2.data 代表 vue 对象的数据,methods 代表 vue 对象的方法,watch 设置了对象监听的方法。
3.vue 对象里的设置通过 html 指令进行关联。
4.注册组件首先定义一个组件,利用 vue.extend 的方法,传入对象{template:””,paramArrributes:[‘msg’]},再调用 component 全局注册该组件。之后就可以当做一段 html 标
签来使用了。
5.重要的指令包括 v-text(渲染数据),v-if(控制显示),v-on(绑定事件),v-for(循环渲染),v-bind(属性绑定),v-model(表单控件绑定)等等。

除了对基础的学习外,我还总结了如何搭建项目主体:

利用官方脚手架(vue-cli)搭建项目主体:npm install -g vue-cli(全局安装),vue init webpack Vue-Project(开始搭建,同时配置文件信息),npm install (下载依赖),npm run dev(启动项目),之后就可以在 src 目录下的 app.vue 中进行开发。由于 npm 的服务器在国外,所以访问下载文件时较慢,可以使用淘宝镜像(服务器在国内)替代 npm 安装相应的依赖包。

4)小结:

对于一个框架的学习,不能仅仅停留在表面的死记硬背,更应该在于理解和活学活用。学习时从背景,框架性能,简单原理,以及与相同功能框架的优缺点对比等方面入手,可以让自己对该框架的大概脉络有一定的了解,学习效率才会更高。

57 个回复

正序浏览
放大地方速度发的分啊分啊啊
回复 使用道具 举报
1111111111
回复 使用道具 举报
万分感谢
回复 使用道具 举报
不错不错不错不错不错不错
回复 使用道具 举报
6666666666666666
回复 使用道具 举报
框架学习
回复 使用道具 举报
1234567890-
回复 使用道具 举报
Port 金牌黑马 2018-5-30 12:44:21
50#
66666666666666666666
回复 使用道具 举报
swlin 初级黑马 2018-5-23 14:41:09
49#
规划规划规划规划规划规划规划规划规划规划
回复 使用道具 举报
好的话题了吧兄弟,噢噢噢哦哦
来自宇宙超级黑马专属安卓客户端来自宇宙超级黑马专属安卓客户端
回复 使用道具 举报
我就看看到底难点在哪里!
回复 使用道具 举报
666666666666
回复 使用道具 举报
委曲求全群群群群群群群群群群群群
回复 使用道具 举报
kan
回复 使用道具 举报
666666666666666
回复 使用道具 举报
ylbo 初级黑马 2018-4-14 21:26:15
42#
最近想学vue.js
回复 使用道具 举报
给力给力给力给力给力给力给力
回复 使用道具 举报
学习一下整个神奇的东西
回复 使用道具 举报
66666666666666666666
回复 使用道具 举报
123下一页
您需要登录后才可以回帖 登录 | 加入黑马