31.vue等单页面应用及其优缺点
单页Web应用(single page web application,SPA):就是只有一个页面的应用。单页应用程序 (SPA) 是加载单个HTML 页面并在用户与应用程序交互时动态更新该页面的Web应用程序。浏览器一开始会加载必需的HTML、CSS和JavaScript,所有的操作都在这张页面上完成,都由JavaScript来控制。因此,对单页应用来说模块化的开发和设计显得相当重要。
单页Web应用的优点:
1、提供了更加吸引人的用户体验:具有桌面应用的即时性、网站的可移植性和可访问性。
2、单页应用的内容的改变不需要重新加载整个页面,web应用更具响应性和更令人着迷。
3、单页应用没有页面之间的切换,就不会出现“白屏现象”,也不会出现假死并有“闪烁”现象
4、单页应用相对服务器压力小,服务器只用出数据就可以,不用管展示逻辑和页面合成,吞吐能力会提高几倍。
5、良好的前后端分离。后端不再负责模板渲染、输出页面工作,后端API通用化,即同一套后端程序代码,不用修改就可以用于Web界面、手机、平板等多种客户端。
单页Web应用的缺点:
1、首屏加载慢
2、SEO问题,不利于百度,360等搜索引擎收录。
3、容易造成CSS命名冲突。
4、前进、后退、地址栏、书签等,都需要程序进行管理,页面的复杂度很高,需要一定的技能水平和开发成本高。
32.什么是vue的计算属性?
计算属性:对于任何复杂的计算逻辑,当前属性值是根据其他属性计算出来的,都应当使用计算属性。
例子:
<div id="example">
<p>Original message: "{
{ message }}"</p>
<p>Computed reversed message: "{
{ reversedMessage }}"</p>
</div>
var vm = new Vue({
el: '#example',
data: {
message: 'Hello'
},
computed: {
// 计算属性的 getter
reversedMessage: function () {
// `this` 指向 vm 实例
return this.message.split('').reverse().join('')
}
}
})
33.vue-cli提供的几种脚手架模板
在使用之前,可以先用 vue-list命令查询可用的模板。
vue-cli提供了的常用的脚手架模板:
1.webpack:基于 webpack 和 vue-loader 的目录结构,而且支持热部署、代码检查、测试及 css 抽取。
2.webpack-simple:基于 webpack 和 vue-loader 的目录结构。
3.browerify:基于 Browerfiy 和 vueify(作用于 vue-loader 类似)的结构,支持热部署、代码检查及单元测试。
4.browerify-simple:基于 Browerfiy 和 vueify 的结构。
5.simple:单个引入 Vue.js 的 index.html 页面。
这里我们主要会使用 webpack 作为常用脚手架,可以运行vue init webpack my-project 来生成项目。
34.vue父组件如何向子组件中传递数据
1.父组件中使用子组件的时候通过 v-bind 向子组件传递数据:
<!-- 动态赋