1.Vue是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用
渐进式概念?
提供给用户足够的选择,没有很多强制性的要求
自底向上逐层应用
由基层开始做起,把基础的东西写好,再逐层往上添加效果和功能
2.Vue 不支持 IE8 及以下版本,因为 Vue 使用了 IE8 无法模拟的 ECMAScript 5(es5) 特性。但它支持所有兼容 ECMAScript 5 的浏览器。
3.在开发环境下不要使用压缩版本,不然你就失去了所有常见错误相关的警告!
4.vue-cli提供热重载:就是页面代码每次改动,不需要手动去刷新页面,可自动刷新代码更新的内容
5.vue data中图片的地址引用 使用require 或者使用import 引入
6.JavaScript没有模块化一直是它的痛点,所以才会产生我们前面学习的社区规范:CommonJS、AMD、CMD等,所以在ES推出了自己的模块化系统ES Module。
7.ES Module:ES Module模块采用export和import关键字来实现模块化,export负责将模块内的内容导出
import负责从其他模块导入内容,采用ES Module将自动采用严格模式:use strict
现在大部分的开发都写es6的语法了,借助babel(背波)进行转换兼容。
babel:是一个工具链,主要用于将 ECMAScript 2015+ 版本的代码转换为向后兼容的 JavaScript 语法,
以便能够运行在当前和旧版本的浏览器或其他环境中
8.运行时版本和完整版的区别
在创建一个编译模时,vue.js为我们提供了一套模板,使我们能够使用v-if,v-for等这样的语法来编写html。
但实际上浏览器是无法识别v-if,v-for这种语法,而是需要通过一个模板编译器来将这样的模板转换为浏览器认识的html。
所以vue.js完整版需要编译器将template模板字符串编译成JavaScript渲染函数的代码,从而实现将html字符串插入到页面的html中实现渲染。
在实际环境中,应当使用运行时版本,原因是因为vue.runtime.js的体积更小(30%左右),在用户网络不好的情况下,能够更快的加载
vue.runtime.js和vue.js的区别在于:vue.runtime.js不包含模板编译器,
当使用 vue-loader 或 vueify 的时候,*.vue 文件内部的模板会在构建时预编译成 JavaScript。
你在最终打好的包里实际上是不需要编译器的,所以只用运行时版本即可。 (vue-loader起编译器的作用)
9.Vue.js 的核心是一个允许采用简洁的模板语法来声明式地将数据渲染进 DOM 的系统
10.vue代码中,你改变了data的值,页面的数据发生了变化。但是我们并没有直接触碰到
Dom,所有的dom操作都是由vue自己处理的,所以编写者只需要关注逻辑层即可
98.vue 组件实现了 Slot API 与 is attribute
<tr is="row"></tr> Vue.component("row", { template: "<tr><td>这是一个tr组件</td></tr>" }); <navigation-link url="/profile"> Your Profile </navigation-link> <a v-bind:href="url" class="nav-link" > <slot></slot> </a> 当组件渲染的时候,<slot></slot> 将会被替换为“Your Profile”。插槽内可以包含任何模板代码
99.Vue 组件不需要任何 polyfill
Polyfill 是一块代码(通常是 Web 上的 JavaScript),用来为旧浏览器提供它没有原生支持的较新的功能。
比如说 polyfill 可以让 IE7 使用 Silverlight 插件来模拟 HTML Canvas 元素的功能,或模拟 CSS 实现 rem 单位的支持
原文:https://www.cnblogs.com/8080zh/p/14600314.html