有幸和盼哥连麦,我也是第一次在网络上充值(虽然只有一块钱,哈哈哈),记录一下!!!
我还是个傍一哦,哈哈哈,有证据的。
这里总结一下盼哥问我的几个问题
- computed和watch的区别
计算属性
1、要计算的属性会随着其依赖的data中属性变化而变化,只要依赖的属性改变,就会执行computed,若无改变,则直接从缓存中取值。
2、支持缓存,只有依赖数据发生改变,才会重新进行计算
3、不支持异步,当computed内有异步操作时无效,无法监听数据的变化
4、computed 属性值会默认走缓存,计算属性是基于它们的响应式依赖进行缓存的,也就是基于data中声明过或者父组件传递的props中的数据通过计算得到的值
5、如果一个属性是由其他属性计算而来的,这个属性依赖其他属性,是一个多对一或者一对一,一般用computed
6、如果computed属性属性值是函数,那么默认会走get方法;函数的返回值就是属性的属性值;在computed中的,属性都有一个get和一个set方法,当数据变化时,调用set方法。
watch(侦听属性)
1、不支持缓存,数据变,直接会触发相应的操作;
2、watch支持异步;
3、监听的函数接收两个参数,第一个参数是最新的值;第二个参数是输入之前的值;
4、当一个属性发生变化时,需要执行对应的操作;一对多;
5、监听的是这个属性自身的变化,且不会操作缓存
6、监听数据必须是data中声明过或者父组件传递过来的props中的数据,当数据变化时,触发其他操作
- Vue数据改变视图改变
请看我的这篇博客:点击即可
盼哥聊了聊 Vue.set(),这个方法是触发了Vue底层的响应式。最近忙着考试,等有空好好看看这个是怎么回事。
- 单页面应用和多页面应用的优缺点
首先什么是单页面应用,顾名思义,就是只有一个页面。就像我们的vue只有一个index.html其他的都是后缀为vue的文件。
单页面应用优点
- 用户体验好,快,内容的改变不需要重新加载整个页面,基于这一点spa对服务器压力较小
- 前后端分离
- 页面切换快
缺点
-
首屏时间稍慢
-
不利于SEO(单页应用实际是把视图(View)渲染从Server交给浏览器,Server只提供JSON格式数据,视图和内容都是通过本地JavaScript来组织和渲染。而搜索搜索引擎抓取的内容,需要有完整的HTML和内容(搜索引擎只认识html里的内容,不认识js的内容)单页应用架构的站点,并不能很好的支持搜索,会导致单页应用做出来的网页在百度和谷歌上的排名差。其实就是当SEO时,如果是单页面的话,只会找到一个app节点。
-
导航不可用,由于单页Web应用在一个页面中显示所有的内容,所以不能使用浏览器的前进后退功能。
-
多页面应用
就是指一个应用中有多个页面,页面跳转时是整页刷新
优点
- 首屏加载快
- SEO好
缺点
- 切换慢
- 开发比较慢,有很多冗余代码。