小程序踩坑总结4

1. tabBar

小程序踩坑总结4_第1张图片

     跳转到带有tabbar的页面必须使用:wx.switchTab({  url : '/index' });

2.小程序快速新建文件的方法

    在app.json中配置不存在的文件,如下红框中;

小程序踩坑总结4_第2张图片

      保存编译后检测到post文件不存在会自动新建post文件夹并且新建4个基础开发文件;

3.模板嵌套以及模板嵌套数据传递

   场景介绍:

   在一个页面中嵌套3层模板,大致结构如图所示:

小程序踩坑总结4_第3张图片

   代码写法:

   主要就是要import,不要忘记了wxss也需要import,不然样式不会生效

   模板C是最底层的一个,在模板B中导入,代码如下:

   模板C:

小程序踩坑总结4_第4张图片

   模板B:嵌套模板C;导入模板C的wxml 和 wxss文件;

              导入最好是写相对路径,绝对路径会一直找不到文件

小程序踩坑总结4_第5张图片
小程序踩坑总结4_第6张图片

   模板A嵌套模板B是同样的嵌套方法,不在赘述;

   最终页面是直接导入模板A,如下:

小程序踩坑总结4_第7张图片

   关于嵌套模板的数据传递问题:

      在最终页面的中可以看出使用了三次模板A,也就是会三次向模板A传递不同的数据,但是在模板A中只能有一种变量进行接收。这就需要使用 JS代码+模板数据的展开  两种方式来解决这个问题;

      模板数据的展开: 就是在变量前使用三个点 "...";

      对数据展开的理解:如果当前的inTheaters = { movies:movies },如果不展开,在模板中得到的就是{ movies:movies },但是使用展开在模板中最终获得的就是movies ;

       根据对模板展开的理解,就方便使用js代码对数据进行处理:

   在data中声明3个数据:

   从服务器获取到数据之后对数据进行处理:

小程序踩坑总结4_第8张图片

   这时候data中声明的3个变量的数据格式如下:

       inTheaters: { movies: movies, cagetoryTitle: cagetoryTitle}

       comingSoon: { movies: movies, cagetoryTitle: cagetoryTitle}

       top250: { movies: movies, cagetoryTitle: cagetoryTitle}

   这个3个数据在页面中展开使用:

小程序踩坑总结4_第9张图片

    这样原始不同的3种数据传递到模板中可以取同一个变量值进行数据绑定:

小程序踩坑总结4_第10张图片

     后续会将代码更新到码云中:代码在这里

4.  request 400错误解决

     如下的代码会报错400

小程序踩坑总结4_第11张图片

     但是如果加上header:

小程序踩坑总结4_第12张图片

     依然报错:400

     最后解决:将json改为xml,就可以正常请求

小程序踩坑总结4_第13张图片

5.动态设置导航栏标题

    必须在onReady中设置:


小程序踩坑总结4_第14张图片

你可能感兴趣的:(小程序踩坑总结4)