VUE的学习笔记

vue和react的区别。

vue1.0是双向绑定的,vue2.0是单向绑定的,v-model是一个语法糖。
react是单向数据流。

vue有runtime版本和非runtime版本

node里面是没有DOM的
浏览器里面有DOM
runtime版不能操作DOM,是给node准备的。

v-model实现的双向绑定

v-model是语法糖

<input type="text"  :value=user.name @input="user.name = $event.target.name">

等价于
<input type="text" v-model="user.name">

vue记不住光标的位置,每次输入都是由父元素将输入重新渲染。每次光标回到最前面。

FLUX兴起之后,vue的作者发现了双向绑定的一些问题之后,更倾向于单向绑定。
如果两个input都绑定了一个元素,两个人同时去操作input,就会出现问题。数据可能在任何一个时间任何一个地点被修改了。
所以一个数据只能一个人改,拥有这个数据的人才能改。
所以有了现在的v-model拆成了两部分实现。
优点:
1.数据拥有者清楚的知道数据变化的原因和时机,因为是他自己操作的;
2.数据拥有者可以阻止非法的数据变化。

vue通过两个单向绑定来模拟双向绑定所以通过修改@input的回调函数实现拦截。要改的话v-model是不行的,要把语法糖解开。

vue-router

前端路由的优缺点

  • 优点: 用户体验很好,不需要每次都从服务器获取,快速展现给用户
  • 缺点: 1. 不利于seo,如果有十个页面,可能只有第一个页面会参与seo
    2. 使用浏览器前进后退,会重新发送请求,没有合理利用缓存
    3. 单页面无法记住之前滚动的位置,无法在前进后退的时候记住滚动的位置。

区分组件还是页面

可以通过文件夹去区分这里是组件还是一个独立的页面,但是本质上是一样的。

动态路由

页面可以用$route.params.来获取参数

路由的hash

地址后面有#:路由的hash 默认是这种方式 mode:'hsah'
还有一种方式是在new Router时指定mode:'history',这样就访问不到hash了。 history也是目前主流的方式。history更加接近原始

嵌套路由

//Index.js
export default new Router({
  routes: {
      path: '/goods',
      name: 'GoodList',
      component: 'GoodList',
      children: [ //children注意都是数组
          path: 'title', //子路由的path不要加/,加了就是一级的路由了
          name: 'title',
          component: 'Title'
       ]
  }

})
//在子路由的router-link的to属性要几级写全to = '/goods/title'

编程式路由

  1. 通过js实现页面跳转
  2. $router.push("name")
  3. $router.push({})
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.安装 可以简单地在页面引入Vue.js作为独立版本,Vue即被注册为全局变量,可以在页面使用了。 如果希望搭建...
    Awey阅读 11,298评论 4 129
  • 下载安装搭建环境 可以选npm安装,或者简单下载一个开发版的vue.js文件 浏览器打开加载有vue的文档时,控制...
    冥冥2017阅读 6,197评论 0 42
  • Vue也已经升级到2.0版本了,到现在为止(2016/11/19)比较流行的MVVM框架有AngularJS(也有...
    彬_仔阅读 27,399评论 12 114
  • 20170113吃完晚饭,给然然讲图书馆借来的绘本。讲完之后我去洗澡,然后给然然洗澡,洗完澡之后,然然涂色,我在和...
    右手戒指阅读 182评论 0 0
  • 1、了解我们的观点是如何建立的。像每一个其他人类开始,你总是觉得——那是,通过你的意识收到资料。也像其他人一样,有...
    韫左寻阅读 188评论 0 1

友情链接更多精彩内容