• 微信小程序


    ​ 现在WEB开发门槛越来越高,不想java 会了就可以有工作,前端不行 ,不仅JavaScript要求不低,基础的HTML+CSS还要扎实,jquery也是必须要会,现在的前端框架 Vue Ng React 还必须要会使用一个,不然出去都不存在找到工作,几年前前端要求都是应用层,现在面试都是看基础,

    比如面试官出一道题

    []+[]  
    []+{}
    {}+[]
    {}+{}
    1+"1"+2
    1+1+"2"
    

    控制台打印是多少?

    我相信对与JavaScript的学习时间一年左右的都写不出来,讲不出来原理 这里我提供答案了,这是前端面试题,网上有解读

    ​ 废话不多说了,步入正题,现在微信小程序也是越来越火热,作为大前端的一部分,我也开始学习微信小程序的编写了,相信会Vue或者三大框架之一上手微信小程序都很快,相对我来说感觉都点Vue阉割版的感觉(..或许是我只看到了表面),刚刚开始接触,看文档都没有问题,就是一点,参数传递,我很迷,文档也没说的很详细,最后看了极客学院的视频,很清晰的认识到了(我原以为是Vuex这样的参数共享)

    这是微信小程序视频教程链接: https://pan.baidu.com/s/19T8H-sAKlUYGTfUsWzvqnA 密码:7oag

    首先 - 生命周期我就不说了,官网讲的可以说是很详细了

    要说参数传递第一步当然是页面的跳转

    目前知道页面跳转在js wxml 上面都可以执行

    **以下是index(page/index/index) 跳转到 logs(page/logs/logs) 页面 **

    itemClick : function (){
        wx.navigateTo({
           url : "../logs/logs"    //这就是最正常的跳转 使用内置方法  wx.navigateTo
        })
    }
    

    itemClick : function (){
        wx.redirectTo({       //在跳转的时候直接替换了,之前的页面就没了,直接卸载了
           url: '../logs/logs'
        })
    }
    

    **注意看生命周期 **里面是不是有经过了卸载页面,使用redirectTo 就无法返回之前的页面

    在wxml里面也可以实现这样的功能

       <navigator url='../logs/logs'> 
        <view class="usermotto" bindtap='itemClick'>
          <text class="user-motto">文章1</text>
        </view>
       </navigator> 
    

    这个和wx.navigateTo 一样的效果

       <navigator url='../logs/logs' redirect> 
        <view class="usermotto" bindtap='itemClick'>
          <text class="user-motto">文章1</text>
        </view>
       </navigator>  
    

    加上redirect 之后就和 wx.redirectTo 一个效果

    以上就是在页面里面跳转的实现方式(我目前知道的)

    参数传递呢

    很简单呐,就想jq一下的在url地址后面添加参数

    wx.redirectTo({       
      url: '../logs/logs?id=1&title="文章"'
    })
    

    这样参数就到logs页面了,怎么接受呢? 看logs.js里面的代码

    /**
       * 生命周期函数--监听页面加载
       */
      onLoad: function (e) {
        console.log("logs--onload--")  在onload里面会接受传递过来的参数
        console.log(e)        //这里打印出来就可以看待传递过来的对象
        this.setData({
          total:e.id,
          title:e.title
        })
      },
    
    

    看到这不就过来了! 很简单是不是 只要知道wx的内置方法就可以实现路由一样的功能了,最后在data里面定义 使用

    this.setData赋值,页面显示,完成

    `logs.js`  
    data: {
        total:null,
        title:null
      },
    
      /**
       * 生命周期函数--监听页面加载
       */
      onLoad: function (e) {
        console.log("logs--onload--")
        console.log(e)
        this.setData({
          total:e.id,
          title:e.title
        })
      }
    
    `logs.wxml`
    <!--logs.wxml-->
    <view class="container log-list">
      文章详情
    </view>
    <text> 文章id == {{total}}</text>
    <view>文章标题  {{title}}</view>
    

    完毕,欢迎各位大佬提出建议

  • 相关阅读:
    2017.10.27
    2017.10.26
    codeforces 652 E Pursuit For Artifacts
    bzoj 1123 BLO
    bzoj 2839 集合计数
    bzoj 3170: [Tjoi 2013]松鼠聚会
    bzoj 2503 相框 欧拉回路
    bzoj 1786 [Ahoi2008]Pair 配对
    bzoj 1014 [JSOI2008]火星人prefix 哈希+splay
    csp-s74 瓶颈
  • 原文地址:https://www.cnblogs.com/wuvkcyan/p/8572031.html
Copyright © 2020-2023  润新知