微信小程序开发学习--常见问题

在开发中,我们难免会遇到一些问题,又无法从API中找到解决办法,其实还是一些原理不太理解。

 问题1:wx.navigateTo无法跳转  

  原因:(1)跳转的页面在app.json文件未注册。
     (2)跳转链接的目录出错,目录可用相对定位也可以用绝对定位,但是两个不要弄混。
     (3)跳转到的页面属于tabBar中的页面,wx.navigateTo/wx.redirectTo只能用在非tabBar页面的跳转。要跳转到tabBar页面,需要使用wx.switchTab


 问题2:事件传参问题             

 在事件调用和页面跳转中,我们很多时候都需要传递参数,这种传参与两种,一种是事件调用的参数,一个是页面跳转时链接中的参数。

     1、事件的参数

   1)事件之间相互调用的参数与js中相同,在调用事件的时候放入参数即可。

   2)点击或者触摸等触发的事件中的参数,因为在微信小程序中我们没有dom选择器的感念,也无法获取当前节点的相关信息,但是我们可以在wxml中定义data-xxx来定义需要传递的参数,这些参数我们在事件中,我们可以用e.currentTarget.dataset.xxx来获取我们的参数。

 2、页面跳转的参数

   我们实现页面跳转有两种方式,一种是在js中用wx.nacigateTo函数,或者在wxml中用<navigator></navigator>标签中加上跳转url来实现跳转。在这两种跳转中,我们可以在url后面加上参数实现传参。解析这个参数的函数如下:

 onLoad: function (options) {
    console.log(options);  //options就是所传参数
}

   问题3:引用第三方库                           

 微信小程序可以引用第三方库,但是因为微信小程序的页面是基于xml的,所有没有dom的概念,因此微信小程序是不支持带有window、dom相关操作的第三方是不支持的,比如jquery。

      1、微信引用第三方库可以用require的方式引入,引用的时候加上路径。这里的路径是相对路径,因为require暂时不支持绝对路径

   var Charts = require('../../charts/wxcharts.js');
       2、第一种方法在一些使用exports和module导出库的第三方库中会报错,因为在微信小程序中exports和module是没有被赋值,无法导出,但是微信小程有模块化的功能,把插件的内容放到小程序的模块
    化函 数内容就可以了。详细的模块化方法可以参考官方API。https://mp.weixin.qq.com/debug/wxadoc/dev/framework/app-service/module.html。小程序的这种模块化,不仅用于第三方插件,很多公共的js
 都可 以封装成一个模块,调用使用。


 

   

原文地址:https://www.cnblogs.com/JiSight/p/7763026.html