zoukankan      html  css  js  c++  java
  • 微信小程序开发学习--常见问题

    在开发中,我们难免会遇到一些问题,又无法从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
     都可 以封装成一个模块,调用使用。


     

       

  • 相关阅读:
    缓存穿透、缓存并发、缓存失效
    改善Java文档的理由、建议和技巧
    如何用消息系统避免分布式事务?
    灰度发布
    REFLECTION(反射)INTROSPECTION(内省、内观)
    常规版本如果新增字段或新增状态如何正确处理
    Git库管理规范
    .net 创建文件夹
    HTTP消息头
    C#读取指定文件夹中的所有文件
  • 原文地址:https://www.cnblogs.com/JiSight/p/7763026.html
Copyright © 2011-2022 走看看