# 组件
*****
在微信小程序中的组件都是双标签使用
*****
### 1.view
>块级元素
*****
### 2.text
>行内元素
*****
### 3.image
**image组件默认宽度340rpx、高度240rpx,image组件中二维码/小程序码图片不支持长按识别。仅在wx.previewImage中支持长按识别**
### 4.input
>input 标签最好不要设计宽为100%
*****
#### 常用的属性
| 属性名 | 类型 | 默认值 | 说明 | 最低版本 |
| --- | --- | --- | --- | --- |
| value | String | | 输入框的初始内容 | |
| type | String | "text" | input 的类型(有appid才有效果) | |
| password | Boolean | false | 是否是密码类型 | |
| placeholder | String | | 输入框为空时占位符 | |
| placeholder-style | String | | 指定 placeholder 的样式 | |
| placeholder-class | String | "input-placeholder" | 指定 placeholder 的样式类 | |
| disabled | Boolean | false | 是否禁用 | |
| maxlength | Number | 10 | 最大输入长度,设置为 -1 的时候不限制最大长度( 例如:最大10个字母或者中文 ) | |
~~~
password=“{{true}}” //是密码类型
maxlength=“{{2}}” //或者 maxlength=“2”
value="默认值" // 或者value="{{默认值}}"
~~~
#### 常用的事件
| bindinput | EventHandle | | 当键盘输入时,触发input事件,event.detail = {value, cursor},处理函数可以直接 return 一个字符串,将替换输入框的内容。 | |
| --- | --- | --- | --- | --- |
| bindfocus | EventHandle | | 输入框聚焦时触发,event.detail = {value: value} | |
| bindblur | EventHandle | | 输入框失去焦点时触发,event.detail = {value: value} | |
事件步骤:
1.绑定事件
> bindinput="onBindInput"
2.通过事件函数获取输入的值
> e.detail.value
3.将获取到的值保存在data中
> 注意: 保存是 this.setData( { } ) ; 获取是this.data.xxx
4.data中的值展示在页面上
*****
### 5.button
### 常用的属性
size 按钮的大小
> default mini
~~~
<button size="mini">登录</button>
~~~
type 按钮的类型 , 不能与背景样式一起使用
> default warn primary
~~~
<button type="warn">登录</button>
~~~
plain 按钮镂空
> plain ="{{true}}" // true false
~~~
<button type="warn" plain="true">登录</button>
~~~
disable 按钮不可点击
~~~
<button type="warn" plain="true" disabled="true">登录</button>
~~~
loading 按钮显示进度条
~~~
<button type="warn" plain="true" loading="true">登录</button>
~~~
hover-class 按钮按下的样式
> 可以自定义任意按钮按下的样式,例如,按下时改变透明度
~~~
//buttton.wxml布局
<button type="warn" plain="true" loading="true">登录</button>
//样式
.btn{
background: orange;
}
~~~
form-type 指定button为表单类型,即可提交表单
~~~
//buttton.wxml布局
<form bindsubmit="obBindSubmit">
<input placeholder='请求用户名' name="username"></input>
<input placeholder='密码' password name="password"></input>
<button form-type='submit'>点击提交表单</button>
</form>
// buttton.js
obBindSubmit:function(e){
console.log(e.detail.value) //{username: "xxxx", password: "xxxxx"}
}
~~~
open-type 属性
微信开放能力,即获取微信账号 的信息
> 例如:open-type="getUserInfo";获取用户信息,可以从bindgetuserinfo回调中获取到用户信息
>
> (**第一次调用会弹出:微信授权对话框**)
~~~
//buttton.wxml布局
<button open-type='getUserInfo' bindgetuserinfo="onbindgetuserinfo">getUserInfo</button>
// buttton.js
onbindgetuserinfo:function(e){
console.log(e.detail.userInfo) // {nickName: "xxx", gender: 0, language: "zh_CN",..}
}
~~~
| 值 | 说明 | 最低版本 |
| --- | --- | --- |
| contact | 打开客服会话,与微信小程序的客服会话 | [1.1.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) |
| share | 触发用户**转发小程序**给微信朋友,使用前建议先阅读[使用指引](https://developers.weixin.qq.com/miniprogram/dev/api/share.html#%E4%BD%BF%E7%94%A8%E6%8C%87%E5%BC%95) | [1.2.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) |
| getUserInfo | 获取用户信息,可以从bindgetuserinfo回调中获取到用户信息。(**第一次调用会弹出:微信授权对话框**) | [1.3.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) |
| getPhoneNumber | 获取用户手机号,可以从bindgetphonenumber回调中获取到用户信息,(**默认个人是不能获取**)[具体说明](https://developers.weixin.qq.com/miniprogram/dev/api/getPhoneNumber.html) | [1.2.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) |
| launchApp | 打开APP,可以通过app-parameter属性设定向APP传的参数[具体说明](https://developers.weixin.qq.com/miniprogram/dev/api/launchApp.html) | [1.9.5](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) |
| openSetting | 打开**授权设置**页 | [2.0.7](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) |
| feedback | 打开微信的“意见反馈”页面,用户可提交反馈内容并上传[日志](https://developers.weixin.qq.com/miniprogram/dev/api/getLogManager.html)到**微信小程序管理平台**,开发者可以登录[小程序管理后台](https://mp.weixin.qq.com/)后进入左侧菜单“客服反馈”页面获取到反馈内容 | [2.1.0](https://developers.weixin.qq.com/miniprogram/dev/framework/compatibility.html) |
- Javascript
- 组成
- Web API
- 初步认识DOM
- 经典案例 (使用获取id的方法)
- 节点和元素
- 经典案例 (使用获取节点和元素的方法)
- 函数
- 作用域链
- Array对象的方法
- String对象的方法
- 绑定事件
- 事件委托
- 逻辑运算
- js高级(面向对象、)
- 基本知识
- 数据类型
- 基本包装类型的使用
- 定义变量的区别
- JavaScript对象的动态特性
- 关键字in
- 关键字delete
- 运算符
- 创建对象的方式
- 回调函数
- 高阶函数
- 构造器属性
- this指向
- hasOwnProperty属性
- 私有成员和特权方法
- 面向对象和面向过程的基础
- 异常捕获
- 构造函数和普通函数的区别
- 构造函数的补充
- 原型
- 原型图
- 获取原型对象的方法
- 原型对象的访问和设置
- 判断某个对象是否是指定实例对象的原型对象
- constructor
- isPrototypeOf
- instanceof
- 检测对象是公有还是私有
- 核心概念
- 继承
- 混入式继承
- 原型式继承
- 原型链继承
- 借用构造函数继承(call继承,经典继承)
- 组合式继承(推荐)
- class继承
- __ proto __属性
- call方法和apply方法
- Fuction相关知识
- 创建函数的方式
- eval函数
- 浅拷贝和深拷贝
- 浅拷贝
- 深拷贝
- Object相关知识
- Object原型属性和方法
- Object静态成员对象
- 案例
- 数组去重
- 闭包
- 语法
- DOM事件和闭包
- 定时器和闭包
- 即使对象初始化
- 闭包的变形
- 设计模式
- 单例模式
- 发布订阅模式(观察者模式)
- 工厂模式
- 命名空间模式
- 同步和异步
- 垃圾回收机制
- get和set
- JQuery
- 动画方法
- 事件
- 方法
- 节点
- 方法er
- HTML + CSS
- 经验
- flex布局
- px,em ,rem区别
- 清除浮动
- Less
- UI框架
- 一.Bootstrap框架
- 常用类名
- 二 .Animate.css
- 三.WOW.JS
- 四.scrollReveal.js
- 五.zepto框架
- zepto选择器
- 滑动事件
- tap触摸事件
- zepto动画
- 六,swipe框架
- 分页器
- 左右按钮和循环轮播
- 底部滚动和轮播方向
- 自动播放和切换效果
- 移入移除事件
- swipe结合animate.css
- 总结
- 滚滚屏
- 自动化构建工具
- 1.gulp
- 使用gulp编译less成css,并最终压缩css
- 压缩css
- 合并和压缩js
- 压缩图片
- 编写server服务
- 包管理器
- 介绍
- brew
- npm十全大补汤
- ES6
- class类
- class类的使用
- class类的继承结构
- let 和const
- 结构语法
- 模板字符串
- 化简写法
- 形参的默认值
- ...rest参数
- rest剩余参数
- 扩展参数
- 正则表达式
- 创建正则表达式的方式
- 构造函数
- 字面量的方式
- 其他(修饰符)
- 判断是否匹配成功
- 正则表达式案例
- 常见的匹配原则
- 验证密码长度
- 表单验证
- 正则提取
- 正则替换
- vue
- 插值操作
- Mustache语法
- 过滤器
- 绑定相关知识
- 绑定对象
- 单向绑定
- 双向绑定
- 绑定属性
- 动态绑定style
- 绑定事件
- 补充
- 绑定语法
- 基础
- vue介绍
- MVVM
- 计算属性
- 指令
- v-cloak
- 显示和隐藏
- 循环
- 自定义指令
- 本地缓存
- localStorage
- sessionStorage
- 对象劫持
- 组件
- 局部组件
- 父子组件
- 全局组件
- 组件访问实例数据
- 父传子
- 子传父
- 兄弟传兄弟
- 插槽
- methods,computed,watch的区别
- Vue.observable()
- vue.config.js配置
- 修饰符
- .sync修饰符
- $attrs和$listeners
- Node.js
- 使用Node执行js代码的两种方式
- 交互模式
- 解释js文件
- http模板
- request对象的使用
- express框架
- 安装
- post
- 获取请求参数
- post返回页面
- 重定向到别的接口
- get
- 返回页面
- get获取请求参数
- 请求静态资源
- 热重启
- Ajax
- 请求方式
- get请求
- post请求
- jQuery中的ajax方法
- JQuery中的get请求
- jQuery中的post请求
- 微信小程序
- 认识
- 引入样式的方式
- 绑定数据
- 小程序组件
- scroll - view 可滚动视图区域
- 发起请求
- template模板
- rich-text
- web-view
- open-data
- checkbox组件
- label组件
- radio组件
- picker组件
- swiper组件
- Git
- 跨域
- 左侧固定,右侧自适应
- vuex
- 如何解决vuex页面刷新数据丢失问题
- 数据结构
- 树
- 问题累积
- Axios
- 前端路由