vue2.x学习笔记

  • 一个 Vue 应用由一个通过 new Vue 创建的根 Vue 实例,以及可选的嵌套的、可复用的组件树组成。

  • 所有的 Vue 组件都是 Vue 实例,并且接受相同的选项对象 (一些根实例特有的选项除外)。

  • 指令:职责是,当表达式的值改变时,将其产生的连带影响,响应式地作用于 DOM

  • 以下是某些vue和angular指令的对比:
    指令带有前缀 v-,以表示它们是 Vue 提供的特殊 attribute。

v-bind:title=    |     [title]=
v-if=            |     *ngIf=
v-show           |     [hidden]=
v-for=           |     *ngFor=
v-on:click=      |     (click)=
v-model=         |     [(ngModel)]=

更多API详见https://cn.vuejs.org/v2/api/

  • 双向绑定:只有当实例被创建时就已经存在于 data 中的 property 才是响应式的。
  • 生命周期:生命周期钩子的 this 上下文指向调用它的 Vue 实例。
  • 插值: 数据绑定最常见的形式就是使用“Mustache”语法 (双大括号) 的文本插值;Mustache 语法不能作用在 HTML attribute 上,遇到这种情况应该使用 v-bind 指令
  • v-bind:缩写:v-on:缩写@v-slot: 替换为字符 #
  • 计算属性computed和侦听属性watch:当数据需要随着其它数据变动而变动时,computed 更有用;当需要在数据变化时执行异步或开销较大的操作时,watch更有用。
  • 不推荐同时使用 v-if 和 v-for。当 v-if 与 v-for 一起使用时,v-for 具有比 v-if 更高的优先级。
  • <template>元素当做不可见的包裹元素,类似ng<ng-container>,而不是<ng-template>;类似react<React.Fragment></React.Fragment>(简写<></>)。
  • <ul><li is="todo-item" attribute中的is="todo-item"实现的效果与 <todo-item> 相同,但是可以避开一些潜在的浏览器解析错误,因为在 <ul> 元素内只有 <li> 元素会被看作有效内容。
  • 更新使用 v-for 渲染的元素列表时为每项提供一个唯一 key attribute,类似于react中的key
  • 对于单选按钮,复选框及选择框的选项,v-model 绑定的值通常是静态字符串 (对于复选框也可以是布尔值)。
  • 因为组件是可复用的 Vue 实例,所以它们与 new Vue 接收相同的选项,例如 data、computed、watch、methods 以及生命周期钩子等。仅有的例外是像 el 这样根实例特有的选项。
  • 组件的 data 选项必须是一个函数;根实例的data是一个对象。
  • 监听子组件事件: $emit
  • 插槽:<slot></slot>,类似于angular<ng-content></ng-content>vue,react,angular插槽使用比较
  • 动态组件:通过 Vue 的 <component> 元素加一个特殊的 is attribute 来实现。
  • 使用 DOM 中的模板时,camelCase (驼峰命名法) 的 prop 名需要使用其等价的 kebab-case (短横线分隔命名) 命名。
  • 推荐始终使用 kebab-case 的事件名。
  • 在大型应用中,我们可能需要将应用分割成小一些的代码块,并且只在需要的时候才从服务器加载一个模块。为了简化,Vue 允许你以一个工厂函数的方式定义你的组件,这个工厂函数会异步解析你的组件定义。Vue 只有在这个组件需要被渲染的时候才会触发该工厂函数,且会把结果缓存起来供未来重渲染。
  • $forceUpdate()类似react中的forceUpdate()
  • 单文件组件: 模版、脚本、样式写在一个.vue 文件中。
  • 不论使用模板还是渲染函数,内容都会被自动转义,因此避免了脚本注入。
  • Vue 在更新 DOM 时是异步执行的。
  • Object.defineProperty 是 ES5 中一个无法 shim 的特性,这也就是 Vue 不支持 IE8 以及更低版本浏览器的原因。
  • vue 的过滤器filter 类似 angular 中的管道pipe。过滤器可以用在两个地方:双花括号插值和 v-bind 表达式。
  • 插件通常用来为 Vue 添加全局功能。
  • 混入 (mixin) 用来分发 Vue 组件中的可复用功能。
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,491评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,856评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,745评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,196评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,073评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,112评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,531评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,215评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,485评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,578评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,356评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,215评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,583评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,898评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,174评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,497评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,697评论 2 335

推荐阅读更多精彩内容