本文共 1248 字,大约阅读时间需要 4 分钟。
v-show和v-if指令的共同点和不同点?
共同点:都能控制元素的显示和隐藏;
不同点:实现本质方法不同,v-show本质就是通过控制css中的display设置为none,控制隐藏,只会编译一次;v-if是动态的向DOM树内添加或者删除DOM元素,若初始值为false,就不会编译了。而且v-if不停的销毁和创建比较消耗性能。
拓展问题:如果要频繁切换某节点,使用v-show(切换开销比较小,初始开销较大)。如果不需要频繁切换某节点使用v-if(初始渲染开销较小,切换开销比较大)。
说出几种vue当中的指令和它的用法?
v-model 数据双向绑定;
v-for循环;
v-if、v-show 显示与隐藏;
v-on事件绑定
v-bind 属性绑定
v-text 解析文本内容
v-html 解析带有html标签的内容
Vue中双向数据绑定是如何实现的?
vue 双向数据绑定是通过 数据劫持 结合 发布订阅模式的方式来实现的,也就是说数据和视图同步,数据发生变化,视图跟着变化,视图变化,数据也随之发生改变;
核心:关于VUE双向数据绑定,其核心是 Object.defineProperty()方法。
vue响应式原理
当一个Vue实例创建时,vue会遍历data选项的属性,用 Object.defineProperty将它们转为getter/setter并且在内部追踪相关依赖,在属性被访问和修改时通知变化。每个组件实例都有相应的watcher程序实例,它会在组件渲染的过程中把属性记录为依赖,之后当依赖项的setter被调用时,会通知watcher重新计算,从而致使它关联的组件得以更新。
vue的两个核心点
数据驱动页面、组件化
数据驱动页面:ViewModel,保证数据和视图的一致性。
组件化:应用类UI可以看作全部是由组件树构成的。
vue生命周期有哪些?调用api时一般在哪个周期完成最好?
beforeCreate(){}, //创建之前created(){}, //创建完成 也可以调用beforeMount(){}, //挂载之前mounted(){}, //挂载完成 调用api 推荐beforeUpdate(){}, //更新之前updated(){}, //更新完成beforeDestroy(){},//销毁之前destroyed(){}, //销毁完成
params和query的区别
用法:query要用path来引入,params要用name来引入,接收参数都是类似的,分别是this.$route.query.name和this.$route.params.name。
url地址显示:query更加类似于我们ajax中get传参,params则类似于post,说的再简单一点,前者在浏览器地址栏中显示参数,后者则不显示
注意点:query刷新不会丢失query里面的数据
params刷新 会 丢失 params里面的数据。
转载地址:https://jackiehao.blog.csdn.net/article/details/114289348 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!