Vue与jQuery的区别
- jQuery是使用选择器选取DOM对象,对其进行赋值、取值、事件绑定百等操作,其实和原生的HTML的区别只在于可以更方便的选取度和操作DOM对象,而数据和界面是在一起的。比如需要获取label标签的内容:$(“lable”).val();,它还是依赖DOM元素的值。
- Vue则是通过Vue对象将数据和View完全分离开来了。对数据进行操作不再需要引用相应的DOM对象,可以说数据和View是分离的,他们通过Vue对象这个vm实现相互的绑定。这容就是MVVM。
Vue与uni-app的区别
- uni-app可以编译到(头条,支付宝,微信,QQ,百度)小程序,安卓版,ios版,h5版。通过打包实现一套代码多端运行;
- vue是web上的单页面应用
vue的父子组件传值
- 在vue中,父子组件的关系可以总结为prop向下传递,事件向上传递。父组件通过prop给子组件下发数据,子组件通过事件给父组件发送信息。
- 每个Vue实例都实现了事件接口:使用
$on(evntName)
监听事件;使用$emit(eventName,optionalPayload)触发事件。另外,父组件可以在使用子组件的地方直接用v-on来监听子组件触发的事件。
v-model双向绑定原理
v-model实际上就是v-bind:value 加上oninput事件
vue生命周期
beforeCreate
- 在实例初始化之后,数据观测 (data observer) 和 event/watcher 事件配置之前被调用
created
- 在实例创建完成后被立即调用
beforeMount
- 在挂载开始之前被调用
mounted
- 实例被挂载后调用
beforeUpdate
- 数据更新时调用
updated
- 由于数据更改导致的虚拟 DOM 重新渲染和打补丁,在这之后会调用该钩子
activated
- 被 keep-alive 缓存的组件激活时调用
deactivated
- 被 keep-alive 缓存的组件停用时调用
beforeDestroy
- 实例销毁之前调用。在这一步,实例仍然完全可用
destroyed
- 实例销毁后调用。该钩子被调用后,对应 Vue 实例的所有指令都被解绑,所有的事件监听器被移除,所有的子实例也都被销毁
errorCaptured
- 当捕获一个来自子孙组件的错误时被调用。此钩子会收到三个参数:错误对象、发生错误的组件实例以及一个包含错误来源信息的字符串。此钩子可以返回 false 以阻止该错误继续向上传播