无标题文章
1.这个月复习了VUE 的相关知识点 然后将之前不是太懂的知识点补了起来
Vue是国人开发的一款前端框架,他是利用mvvm模式开发的说一下mvvm:
M:model,模型,在这里指的是数据模型
V:view,视图,在这里指的就是我们写的页面
VM:ViewModel,是数据模型和视图连接的纽带
一:VUE的优点
1.轻量级的框架,他是只关注视图层。
2.双向数据绑定,vue数据上相绑定是通过数据劫持实现的,所用到的方法是Object.defineProperty();他的 作用就是控制一个对象属性的一些特有操作,他是通过使用get和set来实现数据双向绑定的。
3.组件化:实现html的封装,重用。比如一个html页面可以把他的一些模块进行封装,在后期编写过程中可 以进行调用,这样在构建方面会有很大的优势。
4.虚拟DOM。不再使用原生的dom节点,vue是操作使用vue虚拟出来的dom,虚拟的dom可以减轻性 能的耗费。
二.Vue的缺点:
1.首先第一点它不支持IE9以下的版本。
2.前后端混合书写受到限制。就是在处理json数据还有对数组进行处理时会显得有些麻烦。但是可以使 用 一些便捷的指令。比如bind可以写成:
三. Vue生命周期钩子函数:
我们本月复习了目前常用的vue2.0当中的生命周期钩子函数。这是所有的钩子函数 一般常用的有 created,mounted,还有update等函数 这是我们常用的,也是项目中经常会用到的
四.vue的跨域问题。
Vue的跨域问题主要就是因为http协议的安全机制的问题。针对这种我们讲师给我们进行了一个详细的讲解。并列举了三个解决跨域问题的三个方法。
第一个方法就是利用jsonp的方法:动态创建script标签,使用jsonp的URL发送参数改名为callback,在这里我们会用到浏览器的network功能。
第二个方法是添加响应头,允许跨域
addHeader(‘Access-Control-Allow-Origin:*’);//允许所有来源访问 addHeader(‘Access-Control-Allow-Method:POST,GET’);//允许访问的方式
第三个方法是代理的方式,服务器A的前端页面访问服务器B的后台,这样产生的跨域问题,是由于同源策略产生的可以在A服务器里添加一个代理action在这个action里完成对服务器B的action请求。返回到A服务器的前端页面。
接下来呢就是微信小程序
这个月开课之后呢 就开始上手微信小程序 我们首先联系了 轮播图 以及页面跳转等简单的功能 第二周我们就开始了逻辑方面的 练习
做微信小程序的基本流程如下
1. 首先下载小程序的编辑器,注册一个微信小程序的账号
2. 然后获取我们开发者的ID。
3. 创建我们的项目,进行小程序的编写。
4. 我们自己编写的小程序可以通过手机以及编译器来查看我们书写的样式以及功能。
5. 最后小程序编写完成,测试后就可以发布,让更多的人查看并使用。
然后就是简单的WXML的展示和写法
在WXML中 我们会调用很多的页面组件
Scroll-view 滑动属性 可以定义横向滑动和纵向滑动
Swiper 轮播图插件 和我们在H5中的轮播图插件一样的标签
Icon 矢量图属性 用来做矢量图的一个标签 可以设置大小、颜色等
Navatigor 跳转标签 类似于a标签 但是比a标签多了更多的属性
Map 地图插件 用来在小程序中显示地图和定位的功能
View标签 这就是我们在H5中常用的div标签
微信小程序的布局与之前的布局有许多不同不地方 多加练习就会变得孰能生巧
在小程序里还有一个重要的知识点 也是面试题经常问到的
app.json的作用
第一个 pages
作用:用来注册所有的页面,用字符串数组来表示,页面用【路径+文件名】来表示。字符串数组的一个页面为首页。
第二个window
作用:设置默认页面的窗口表现
第三个 tabBar:
作用:这个就是用来做一个底部导航的,点击切换显示不同的页面。
3 js
1、js的基本数据类型Number、String、Boolean、Null、Undefined symbol:是ES6新增加的基本数据类型 还有复杂数据类型:Object(Array、Json等)
2、js有哪些内置对象Object是所有JS中所有对象的父对象 数据封装类对象:Object、Array、Boolean、Number、String其他对象:Function、Arguments、Math、Date、RegExp、Error
3、js基本规范?
(1)不要在同一行声明多个变量;
(2)请使用==或!==来比较true或false的值;
(3)使用对象字面量(json)替代newArray这种形式
(4)不要使用全局函数
(5)switch语句带有default分支
(6)函数不应该有时候有返回值,有时候没有返回值
(7)for循环必须使用大括号
(8)if语句必须使用大括号
(9)for-in循环中变量,应使用var关键字明确限定作用域,从而避免作用域污染
promise:
是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大。它由社区最早提出和实现,ES6 将其写进了语言标准,统一了用法,原生提供了Promise对象。
(1)对象的状态不受外界影响。Promise对象代表一个异步操作,有三种状态:pending(进行中)、fulfilled(已成功)和rejected(已失败)。只有异步操作的结果,可以决定当前是哪一种状态,任何其他操作都无法改变这个状态。
(2)一旦状态改变,就不会再变,任何时候都可以得到这个结果。Promise对象的状态改变,只有两种可能:从pending变为fulfilled和从pending变为rejected。只要这两种情况发生,状态就凝固了,不会再变了,会一直保持这个结果,这时就称为 resolved(已定型)。如果改变已经发生了,你再对Promise对象添加回调函数,也会立即得到这个结果。这与事件(Event)完全不同,事件的特点是,如果你错过了它,再去监听,是得不到结果的。
(3)有了Promise对象,就可以将异步操作以同步操作的流程表达出来,避免了层层嵌套的回调函数。此外,Promise对象提供统一的接口,使得控制异步操作更加容易。
缺点:。首先,无法取消Promise,一旦新建它就会立即执行,无法中途取消。其次,如果不设置回调函数,Promise内部抛出的错误,不会反应到外部。第三,当处于pending状态时,无法得知目前进展到哪一个阶段(刚刚开始还是即将完成)。