微信小程序知识点

微信小程序,阅读本文请了解vue和小程序的区别?vue和小程序双向绑定异同,二者接口设置;

今年微信小程序更新比较频繁:但是虽然更新了,基础还是这些;

重点:

登录授权(弹窗授权,自带弹窗授权2018.4更新之后已经不可以再次使用,我们可以使用自己编写的dialog组件调用,通过

<button open-type="getUserInfo" lang="zh_CN" bindgetuserinfo="onGotUserInfo">获取用户信息</button>
<button open-type="openSetting">打开授权设置页</button>

静默授权,直接读取用户信息

(<open-data type="用户信息参数,请首字符大写"></open-data>)

接口封装:下文已经涉及,开始作为补充说明,请移步下文;

状态值改变如何操作:通过data:{} 重新挂载赋值 ,这里必须清楚小程序的赋值结构;

小程序如何自定义底部导航:很简单就是不用他的tabBar了,自己写个,不过要涉及很多的页面跳转和路由问题;

小程序的顶部导航也可以自定义:不过那个参数一写,要必须在app.json写,这个参数会导致小程序所以页面的顶部导航消失或者没有返回按钮,所以做好封装返回组件;需要的页面引入;

一: 参数传值的方法

 

1:  data-id

我们可以给HTML元素添加data-*属性来传递我们需要的值,使用方法说明:

 

(1)设置data-id

 

 

[html] view plain copy

  1. <view class="block" bindtap="playTap" data-id="{{modle.id}}">  

(2):  取值 + 传值

 

[javascript] view plain copy

  1. playTap:function(e) {  
  2.        const dataset = e.currentTarget.dataset;  
  3.        wx.navigateTo({  
  4.          url: '../play/index?id='+ dataset.id  
  5.        })  
  6.        console.log(dataset.id);  
  7.    }  

(3):取值

 

[javascript] view plain copy

  1. onLoad:function (param) {  
  2.     //页面初始化  
  3.         this.setData({  
  4.             currentId:param.id  
  5.         })  
  6. }  


data-*注意事项:data-*名称不能有大写字母,曾经我就因为大写了一个字母,找了半天的才发现这个错误..data-*属性中不可以存放对象

 

 

 

2:  设置id 的方法标识来传值

 

使用方法说明:

 

(1)设置id

 

[html] view plain copy

  1. <view bindtap=“playTap" id="{{modle.id}}">  

 

(2)取值

 

通过e.currentTarget.id获取设置的id的值,然后通过设置全局对象的方式来传递数值

 

3:  在navigator中添加参数传值
使用方法说明
(1)传值:在navigator的属性url后拼接?id(参数名字)=要传递的值    (如果多个参数用&分开   &name=value&.......)

 

[javascript] view plain copy

  1. <navigator url="../my/my?id={{item.id}}" wx:for="{{modles}}">  

(2)取值:

 

[javascript] view plain copy

  1. onLoad (params){  
  2.         app.fetch(API.detail + params.id,(err,data) => {  
  3.         })  
  4.     }  

 

 

二:数据请求封装

 

 

 

1.将所有的接口放在统一的js文件中并导出

[javascript] view plain copy

  1. const api = {  
  2.     interface1: 'https://........',  
  3.      interface2: 'https://.......',  
  4.      interface3: 'https://....',  
  5.      .....  
  6. }  
  7. module.exports = api;  

2:在app.js中创建封装请求数据的方法

 

[javascript] view plain copy

  1. fetch(url,data, callback) {  
  2.       wx.request({  
  3.           url,  
  4.           data: data,  
  5.           header: {  
  6.               'Content-Type''application/json'  
  7.           },  
  8.           success(res) {  
  9.               callback(null, res.data);  
  10.           },  
  11.           fail(e) {  
  12.               callback(e);  
  13.           }  
  14.       })  
  15.   },  

3: 在子页面中调用封装的方法请求数据

 

[javascript] view plain copy

  1. import API from "../../api/api.js";  
  2. const app = getApp();  
  3. const conf = {  
  4.     data:{  
  5.         title:'正在拼命加载中...',  
  6.         loadding:true  
  7.     },  
  8.     onLoad (){  
  9.         app.fetch(API.hot,{},(err,data) => {  
  10.         })  
  11.     },  

三:使用模板(发现模板真是个好东西哦!)

 

1:定义模板:name设置模板的名字

[javascript] view plain copy

  1. 定义模板   
  2. <template name="homecell">  
  3.      <view class="item">  
  4.     </view>  
  5.  </template>  


2:使用模板

首先引入模板

 

[javascript] view plain copy

  1. <import src="../../commonXml/homecell.wxml" />  

然后使用模板is后写模板的name..通过data来传递需要是数据

 

[javascript] view plain copy

  1. <template is="homecell" data="{{item}}"></template>  

 

 


四:Array比较好用的属性和方法

 

 

 

 

 

Array.isArray() 方法用来判断某个值是否为Array。如果是,则返回 true,否则返回 false

concat() 方法将传入的数组或非数组值与原数组合并,组成一个新的数组并返回.
forEach() 方法对数组的每个元素执行一次提供的函数(回调函数)。
join() 方法将数组中的所有元素连接成一个字符串。
keys() 方法返回一个数组索引的迭代器。
map() 方法返回一个由原数组中的每个元素调用一个指定方法后的返回值组成的新数组
pop() 方法删除一个数组中的最后的一个元素,并且返回这个元素。
push() 方法添加一个或多个元素到数组的末尾,并返回数组新的长度(length 属性值)。

 

toString() 回一个字符串,表示指定的数组及其元素。

 

 

 

 

五:对象Object常用方法

 

 

 

1 初始化方法

[javascript] view plain copy

  1. var  obj = [];  
  2. var obj = new obj();  
  3. var obj = Object.create(null);  


2 添加元素的方法

 

[javascript] view plain copy

  1. dic[“key”] = “value”;  


3 删除key的方法

 

[javascript] view plain copy

  1. delete dic[“key”];  


4 清空词所有条目

 

[javascript] view plain copy

  1. dic.clear();  


5 删除

 

[javascript] view plain copy

  1. delete dic;  


6 查看所有属性的方法

 

[javascript] view plain copy

  1. Object.keys(obj);  

对象的所有键名都是字符串,所以加不加引号都可以,如果键名是数值,会被自动转为字符串但是,如果键名不符合标识名的条件(比如第一个字符为数字,或者含有空格或运算符),也不是数字,则必须加上引号,否则会报错

 

6 读取属性 

 

[javascript] view plain copy

  1. obj.name  ||  obj[’name']  

注意: 数值键名不能使用点运算符(因为会被当成小数点),只能使用方括号运算符。

 

7 检查变量是否声明

 

[javascript] view plain copy

  1. if(obj.name)  || if(obj[’name'])  


8  in 运算符用于检查对象是否包含某个属性,如果包含返回true,否则返回false

 

[javascript] view plain copy

  1. if ( ‘x’ in obj) {return 1}  


9 for … in  循环
用来遍历一个对象的全部属性

 

[javascript] view plain copy

  1. for (var i in obj) {  
  2.     console.log(obj);  
  3. }  


10 with 语句
作用: 操作同一个对象的多个属性时,提供一些书写的方便

 

[javascript] view plain copy

  1. with(obj) {  
  2.     name1 = 1;  
  3.     name2 = 2;  
  4. }  

等同于

 

[javascript] view plain copy

  1. obj.name1 = 1;  
  2. obj.name2 = 2;  

小程序页面跳转:

wx.navigateTo(OBJECT) 关闭当前页面,跳转到应用内的某个页面。

wx.switchTab(OBJECT) 跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面

wx.navigateBack(OBJECT) 关闭当前页面,返回上一页面或多级页面。可通过 getCurrentPages()) 获取当前的页面栈,决定需要返回几层。

wx.reLaunch(OBJECT) 关闭所有页面,跳转

好了,今天就先补充到这里,有兴趣的同学可以添加我微信咨询:Iamdadousj,如果你要通吃最好学点后端,这样也不吃亏;

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. Uniapp是什么? Uniapp是一个基于Vue.js开发的多端应用框架,它可以开发出一套代码,同时支持编译成小程序、H5、App等多个平台,实现一次开发,多端部署。 2. 微信小程序是什么? 微信小程序微信公众平台提供的一种新的应用形态,它不需要下载安装即可使用,具有轻便、快捷的特点,可以在微信中直接使用。 3. Uniapp如何开发微信小程序? 首先,需要在Uniapp中选择微信小程序模板进行项目创建,然后在Uniapp中编写代码,包括页面、组件、API等。最后,使用微信开发者工具将Uniapp项目编译成微信小程序。 4. Uniapp支持哪些微信小程序特性? Uniapp支持微信小程序的大部分特性,包括WXSS样式、WXML模板、JS逻辑代码等。同时,Uniapp还提供了一些特有的API,如跨页面通信、全局变量等。 5. 如何在Uniapp中使用微信小程序的API? 在Uniapp中使用微信小程序的API需要借助Uniapp提供的封装函数。Uniapp封装了一些常用的微信小程序API,如wx.request、wx.showToast等,可以直接在Uniapp中调用。 6. 如何在Uniapp中使用微信小程序的组件? 在Uniapp中使用微信小程序的组件需要将组件代码复制到Uniapp中,并进行相应的修改。同时,Uniapp也提供了一些封装好的组件,如uni-list、uni-icons等,方便开发者使用。 7. 如何在Uniapp中使用微信小程序的插件? 在Uniapp中使用微信小程序的插件需要安装插件并进行相应的配置。Uniapp支持使用微信小程序的插件,如wxParse、wxCharts等。 8. 如何在Uniapp中进行微信小程序的调试和发布? 在Uniapp中进行微信小程序的调试和发布需要使用微信开发者工具。开发者可以在Uniapp中进行代码编写和调试,然后使用微信开发者工具将Uniapp项目编译成微信小程序,最后在微信开发者工具中进行测试和发布。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值