Vue2 入门

常用指令

  1. v-text   改变元素文本,不可解析html标签
  2. v-html  改变元素文本,可解析html标签
  3. v-on    绑定事件     例: v-on:click="事件(参数)"    简写:   @click="事件(参数)"
  4. v-show 是否显示该元素(实质改变display)
  5. v-if 跟v-show类似    不同点在于 实质的不同 v-show改变的是display,而v-if 是操作的dom树 ,在dom树上增添或删减
  6. v-bind 改变属性值的指令  例:  v-bind:src=""       简写:     :src=""
  7. v-for 根据数据生成列表结构
  8. v-model 数据的双向绑定

插值表达式,v-text和v-html的区别

v-text和{{}}表达式渲染数据,不解析标签,如果有标签则直接当做字符输出到页面上;v-html不仅可以渲染数据,而且可以解析标签。

v-show和v-if的区别

v-if 在条件切换时,会对标签进行适当的创建和销毁,而v-show则仅在初始化时加载一次,因此v-if的开销比v-show大
v-show控制的时元素的display属性,无论初始条件是否成立,都会渲染标签。而v-if是惰性的,只有在条件成立时才渲染为真实的标签,条件为假,不会去渲染标签

v-bind和v-model的区别

v-bind 产生的效果不含有双向绑定,所以 :value 的效果就是让 input的value属性值等于 data.name 的值,而 v-model 的效果是使input和 data.body 建立双向绑定,因此首先 data.body 的值会给input的value属性,其次,当input中输入的值发生变化的时候,data.body 还会跟着改变。

 v-model 其实就是 v-bind 和 v-on 的语法糖

vue组件中的常用属性

  1. name    组件名称
  2. props    父组件传值给子组件(可以是单个值,也可以是一个对象,或者数组等)
  3. data      组件需要的数据定义在这里面
  4. computed     称为计算属性,用来控制该组件自己的变量,该变量不在data里面声明,直接在computed里面定义,然后经过一系列的计算等操作之后,返回。所以,computed比较适合对多个变量或者对象进行处理后返回一个结果的值。如果data中的数据不改变的话,直接从缓存中获取结果;否则重新执行
  5. methods   里面包含了许多的方法,例如:点击某个按钮执行相应的方法,每次都得重新执行
  6. watch:vue提供的一种来监听实例上数据变动的属性——监听属性watch。我们常用的是handler回调,每次都得重新执行。当需要的数据在异步变化或者开销较大时,在执行更新的时候,使用watch会更好一些

子组件中data和props的区别

子组件中的data数据,不是通过父组件传递的是子组件私有的,是可读可写的。

子组件中的所有 props中的数据,都是通过父组件传递给子组件的,是只读的。

watch,data和computed的区别

data属性的值,不会随赋值变量的改动而改动。如果要改变这个属性的值,则需要直接给data属性赋值,视图上对这个属性的显示才会变。
computed属性,属于持续变化跟踪。在computed属性定义的时候,这个computed属性就与给它赋值的变量绑定了。改变这个赋值变量,computed属性值会随之改变。
当我们要进行数值计算,而且依赖于其他数据,那么把这个数据设计为computed。
如果你需要在某个数据变化时做一些事情,使用watch来观察这个数据变化。

vue路由传参

通过params的方式,路径不会显示传递的参数

例:

this.$router.push({
          name: 's'//接收参数的组件,
          params: {
            id: id,
            name:name
          }
        })

//在接收参数的组件中
	this.$route.params.id
//对应的路由配置
{
     path: '/s/:id/:name',
     name: 's',
     component: s
   }

通过query的方式,显示传递的参数

例:

this.$router.push({
          path: '/ss',//跳转的路由
          query: {
            id: id
          }
        })
//在接收参数的组件中
this.$route.query.id
//对应的路由配置
{
     path: '/ss',
     name: 'ss',
     component: ss
   }

params和query传参的区别

使用params传参只能用name来引入路由

使用query传参使用path来引入路由。

params是路由的一部分,必须要在路由后面添加参数名。query是拼接在url后面的参数,没有也没关系。

query相当于get请求,页面跳转的时候,可以在地址栏看到请求参数,而params相当于post请求,参数不会再地址栏中显示。

vuex的五个核心概念

state => 基本数据 
getters => 从基本数据派生的数据 
mutations => 提交更改数据的方法,同步! 
actions => 像一个装饰器,包裹mutations,使之可以异步。 
modules => 模块化Vuex

vuex的mutation和action的区别和使用

修改操作state的数据,要通过mutations,在里面写方法 

  1. 所有的数据的操作,不在外面操作,都是在vuex里面操作
  2. 对于外界组件,通过commit来操作

异步修改操作,state共享数据

Actions函数接受一个与 store 实例具有相同方法和属性的 context 对象,因此你可以调用 context.commit 提交一个 mutation,或者通过 context.state 和 context.getters 来获取 state 和 getters。

Mutation:必须同步执行。

Action:可以异步,但不能直接操作State。而且可以通过 action 来提交 mutations

什么是同步什么是异步

同步:按照一定的顺序去执行,执行完一个才能执行下一个
异步:执行顺序是不确定的,由触发条件决定,什么时间执行也是不确定的,即使是定时器(下面做解释),异步处理可以同时执行多个。

js的异步处理是和浏览器一起作用的,js是单线程的,但是浏览器是多线程的。浏览器可以同时处理多个异步任务。但是这些异步任务中的回调函数还是在js的主线程中一个一个执行的。

什么是vue

Vue是一套用于构建用户界面的渐进式JavaScript框架

为什么要用Vue?

 组件化,MVVM 数据双向绑定, 响应式 虚拟DOM,生命周期

  1. 轻量级框架
  2. 简单易学
  3. 双向数据绑定
  4. 组件化
  5. 视图,数据,结构分离
  6. 虚拟DOM
  7. 运行速度更快

vuex是什么,作用

Vuex是一个专为Vue.js应用程序开发的状态管理模式

它采用集中式存储管理应用的所有组件的状态

解决了组件之间统一状态的共享问题,实现组件之间的数据持久化。在项目中可以用vuex存放数据,不用每次都要请求后端服务器,这就在保证了数据新鲜度的同时提高了使用性能。

生命周期

beforeCreate created    可以获取数据及方法 
beforeMount mounted   可以获取到真实的DOM 
beforeUpdate updated   数据更新执行 
beforeDestroy destroyed   销毁vue实例,不再具有双向数据绑定的特点

  • 当keep-alive 缓存组件才会有的生命周期的钩子函数
    • activated deactivated
  • errorCaptured 当页面组件出错时,会调用这个钩子函数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值