微信小程序填坑总结

1.问题描述:调用微信小程序API:wx.getLocation,用来获取用户当前的地理位置、速度。进入failed回调函数。

解决方法:在app.json文件中增加一下配置:

"permission": {
    "scope.userLocation": {
      "desc": "你的位置信息将用于小程序位置接口的效果展示"
    }
  }

解决思路:开发这文档中有说明。调用该API前需要用户授权

2.问题描述:自定义组件的wxml中包含多个 slot 节点,在引用该组件页面slot节点不显示。

代码实例:

// 组件模版 my-comp.wxml
<view class="wrapper">
  <slot name="before"></slot>
  <view>这里是组件的内部细节</view>
  <slot name="after"></slot>
</view>

// 引用组件的页面模版 index.wxml
<view>
  <my-comp>
    <!-- 这部分内容将被放置在组件 <slot name="before"> 的位置上 -->
    <view slot="before">这里是插入到组件slot name="before"中的内容</view>
    <!-- 这部分内容将被放置在组件 <slot name="after"> 的位置上 -->
    <view slot="after">这里是插入到组件slot name="after"中的内容</view>
  </my-comp>
</view>

解决方法:

// 默认情况下,一个组件的wxml中只能有一个slot。需要使用多slot时,可以在组件js中声明启用。
Component({
  options: {
    multipleSlots: true // 在组件定义时的选项中启用多slot支持
  }
})

3.微信小程序js文件中,import导入外部模块,文件路经不支持绝对路经,只支持相对路经。

代码实例:

//page.js
import {http} from '/utils/util.js'; // 采用绝对路径
http();
Page(){
  //...
}

页面报错:

错误提示引入的外部模块没有找到。

解决方法:import模块时,采用相对路经。

//page.js
import {http} from '../..//utils/util.js'; // 采用绝对路径
http();
Page(){
  //...
}
原文地址:https://www.cnblogs.com/dadouF4/p/11084340.html