小程序原生语法

1.数据绑定

{{}}
属性绑定也用{{}}

data:{
count:0
num:1
}

2.事件绑定

事件类型: bindtap(相当于click) bindinput bindchange
事件对象: event
数据修改:
this.setData({
count:1
})
事件传参: 事件传参不能把参数写在方法中,要写在自定义属性中data-xxx
获取参数传数: e.target.dataset.xxx

input表单: 小程序中数据不是双向绑定的, 视图层的改变,模型属没有变化
获取表单中的数据 e.detail.value
要实现模型层数据同步: this.setData({
val:e.detail.value
})

3.数据分支

vue: 语法 v-if … v-else-if … v-else
template
v-show与v-if的区别

小程序: 语法: wx:if … wx:elif … wx:else

      block: 多标签的包裹  block在页面不渲染
      hidden与wx:if的区别

v-show=“true” 显示
hidden={{true}} 隐藏

4.数据循环

(a) wx:for="{{数组}}" 默认下标index 默认值 item

(b) 自定义下标或值 wx:for-index wx:for-item

© 也要指定Key wx:key=“唯一值”

5.小程序中的样式

小程序中的样式 选择器与属性 大部分是通用的
小程序中关注点:
(a) 单位 rpx 屏幕宽度分类750份
(b) 可以导入wxss文件@import 类似于Less

6.全局配置: app.js

pages:
window:{
“navigationBarBackgroundColor”: “#2b4b6b”,
“navigationBarTitleText”: “小程序”,
“navigationBarTextStyle”:“white”,

"enablePullDownRefresh": true,
"backgroundColor":"#333",
"backgroundTextStyle":"light"

"onReachBottomDistance": 50

},
tabBar:{
list:[
{},
{}
]
}

7.局部配置

全局window中的属性在每一个页面中都会生效,在页面的配置文件中也可以对window对象中的属性再次配置
以页面配置的属性为准.
“navigationBarBackgroundColor”: “#2b4b6b”,
“navigationBarTitleText”: “小程序”,
“navigationBarTextStyle”:“white”,

"enablePullDownRefresh": true,
"backgroundColor":"#333",
"backgroundTextStyle":"light"

"onReachBottomDistance": 50

8.小程序中如何发送ajax

(a) 服务器的协议必须是https:// ( 由后端,运维设置 )
(b) 服务器的地址添加到小程序的后台
© 小程序中没有跨域

语法: wx.request({
url:
method:
data:{

  },
  success(res) {
      console.log(res)
  }

})

1. 导航

a.声明式导航 navigator(相当于用标签a)
语法:

  tabBar页面: open-type="switchTab"

  非tabbar页面:   
    open-type="navigate"  原页面不销毁   
    open-type="redirect"  原页面销毁

  回退:
    open-type="navigateBack"
    <navigator  open-type="navigateBack"></navigator>

b.编程式导航 js代码实现跳转
tabBar页面: wx.switchTab({url:地址})

 非tabbar页面:  wx.navigateTo({url:地址})  原页面不销毁
 非tabbar页面:  wx.redirectTo({url:地址})  原页面销毁
 
 回退: wx.navigateBack({{delta:层数}})

c.传参
navigator url="/pages/xxx/xxx?键=值&键=值"
wx.navigateTo({url:"/pages/xxx/xxx?键=值&键=值"})

 接收参数:  onLoad(option){}   option就是接收的参数对象

2. 下拉刷新

a.不建议在全局开启下拉刷新,一般在页面开启下拉刷新
“enablePullDownRefresh”:true

b.修改下拉刷新的背景样式
“backgroundColor”:16进制颜色值
“backgroundTextStyle”: “dark|light” 小圆点loading值

c.在页面.js中有一个事件监听下拉刷新
onPullDownRefresh(){
一般业务逻辑是请求最新的数据
wx.request({
url:
data:
method:
success(){},
error(){},
complete(){
wx.stopPullDownRefresh()
}
})
}

d.关闭下拉刷新
wx.stopPullDownRefresh()

3. 上拉加载

a.配置上拉加载的距离 一般不修改
onReachBottomDistance:50(默认)

b.当内容大于视口的高度时,下滑到底部小于BottomDistance时,onReachBottom函数才会执行
onReachBottom() {
//加载更多数据
}

4. 生命周期

分类: 应用生命周期 页面生命周期

a.应用生命周期钩子函数
App({
onLaunch(){
只会执行一次
},
onShow(){
项目第一次启动或从后台切前台
},
onHide(){
项目从前台切换到后台
}
})
b.页面生命周期钩子函数
Page({
** onLoad(){}, created
onShow(){},
** onReady(){}, mounted
onHide(){},
onUnload(){}
})

5. wxs (weixin script)

能做什么? 可以对wxml中的数据过行加工处理,相当于 “过滤器”

语法:
内嵌式:

…业务逻辑
导出对象
module.export ={

     }
  </wxs>

 外链式:
  1.创建一个.wxs文件,它就是一个模块,也要向外导出一个对象
  2.引入.wxs文件  <wxs module="模块名" src="相对路径的地址"></wxs>

自定义组件

1. 如何创建组件

2. 引用组件

a.页面引用组件

b.全局引用组件

3. 页面与组件的区别

页面中的事件方法与data是同级的
组件中的方法是写在Component() 中的methods:{}

4. 组件的样式

组件中的样式与页面中的样式 默认是隔离的.
注意: 组件与页面中的样式 要用class选择器, id,标签,属性选择器不会隔离

修改组件与页面的默认隔离性:
组件.js
options:{
styleIsolation:“isolate|apply-shared|shared”
}
组件.json
“styleIsolation”:“isolate|apply-shared|shared”

isolate: 隔离
apply-shared: 页面可以影响组件,但组件不能影响页面
shared: 页面与组件可以相互影响

5. 组件中的数据,方法,属性

数据:data:{ count:0 } 存组件中的私有数据

方法:methods:{ }
注意点: 不是绑定事件的方法建议用_开头

属性: properties:{ } 接收组件传值

this.data === this.properties

6.数据监听

observers

7.纯数据字段

不需要在 结构上 显示的数据可以定义为纯数据字段, 好处速度快

options:{
   pureDataPattern: /^_/
}

data:{
   _a:0
}

8. 组件的生命周期

lifetimes:{
created(){}
attached(){}
detached(){}
}

组件所在页面的生命周期
pageLifetimes:{
show() {}
hide() {}
resize() {}
}

9. 插槽

10.组件传值

父向子: 自定义属性

子向父: 自定义事件 this.triggerEvent(“自定义事件名”)

页面中中直接操作子组件中属性与方法:
const component = this.selectComponent(“组件标识:id或claas选择器”)

component.setData()
component.自定义的方法()

11.behaviors

相当于vue中的混入mixin 组件中引入了behaviors可以共享属性,数据,方法

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值