​ 现在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>

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

微信小程序 - 生命周期 - 参数传递的更多相关文章

  1. 微信小程序生命周期

    微信小程序 生命周期 通俗的讲,生命周期就是指一个对象的生老病死. 从软件的角度来看,生命周期指程序从创建.到开始.暂停.唤起.停止.卸载的过程. 下面从一下三个方面介绍微信小程序的生命周期: 应用生 ...

  2. 微信小程序-生命周期图解

    微信小程序-生命周期图解 小程序生命周期 App 生命周期 https://developers.weixin.qq.com/miniprogram/dev/reference/api/App.htm ...

  3. 微信小程序生命周期——小程序的生命周期及页面的生命周期。

    最近在做微信小程序开发,也发现一些坑,分享一下自己踩过的坑. 生命周期是指一个小程序从创建到销毁的一系列过程. 在小程序中 ,通过App()来注册一个小程序 ,通过Page()来注册一个页面. 首先来 ...

  4. 微信小程序生命周期详解

    文章出处:https://blog.csdn.net/qq_29712995/article/details/79784222 在我看来小程序的生命周期虽然简单,但是他渗透了小程序开发的整个过程,对于 ...

  5. 浅谈微信小程序生命周期

    之前在做微信小程序的时候,一直对生命周期里面的onLoad,onShow,onUnload不是很理解.比如说什么时候会触发onUnload. 经过一段时间的测试发现,普通页面的onUnload在三种情 ...

  6. 微信小程序 - 生命周期

    生命周期 1.小程序注册完成后,加载页面,触发onLoad方法.(切记,onShow和onLoad的区别,onShow是每当进入这个页面时就会触发,而onload是载入进来时才触发) 2.页面载入后触 ...

  7. 微信小程序~生命周期方法详解

    生命周期是指一个小程序从创建到销毁的一系列过程 在小程序中 ,通过App()来注册一个小程序 ,通过Page()来注册一个页面 先来看一张小程序项目结构 从上图可以看出,根目录下面有包含了app.js ...

  8. 微信小程序生命周期、页面生命周期、组件生命周期

    1. 生命周期 App(全局) 位置:项目根目录app.js文件 App({ onLaunch (options) { // console.log('小程序初始化') }, onShow(optio ...

  9. 微信小程序生命周期,事件

    目录 双线程模型 小程序中 app.js 中的生命周期 小程序的页面的生命周期 小程序的事件 双线程模型 像 Vue 的双向数据绑定 总结: 在渲染层将wxml文件与wxss文件转成js对象,也就是虚 ...

随机推荐

  1. js实现图片延时加载的原理

    实现原理: 附:(http://www.cnblogs.com/fishtreeyu/archive/2011/03/12/1982067.html) 把所有需要延时加载的图片改成如下的格式: < ...

  2. SharePoint Tricks - HTML & CSS & JavaScript

    1. 隐藏Quick Launch <style type="text/css">/*-- Hide Quick Launch --*/#s4-leftpanel{   ...

  3. TextView来实现跑马灯的效果

    <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...

  4. Matlab GUI保存图片

    % --- Executes on button press in pushbutton5. function pushbutton5_Callback(hObject, eventdata, han ...

  5. Android学习——ViewPager的使用(二)

    这一节介绍使用FragmentPagerAdapter适配器,来加载Fragment对象. 数据源 加载Fragment对象时,数据源自然来自Fragment,与View类似,依旧使用List来存放数 ...

  6. spring框架入门day01

    struts:web层,比较简单(ValueStack值栈,拦截器) hibernate:dao层,知识点杂 spring:service层,重要,讲多少用多少  --> [了解] spring ...

  7. 关于main函数的参数,argc,argv的内部机制

    偶尔对main函数的参数感兴趣,写了个程序验证. int main(int argc,char **argv) 首先,解释两点: 第一 .系统将参数列表,即我们在shell下输入的命令,存储到一个一维 ...

  8. wamp的www目录更改为指定目录

    wamp的www目录更改为指定目录内容简介:主要过程: (1)修改httpd.conf文件 (2)修改新的www目录下的index.php文件 (3)修改manage.ini的278行和manage. ...

  9. Oracle 12C配置EM

    12C配置OEM同之前的版本差别较大,没有了emctl,而是直接使用如下方法配置: SQL*Plus: Release 12.1.0.2.0 Production on Tue Jul 19 07:1 ...

  10. 基于ssh的多节点之间互信通信的实现

    实现条件:node1:192.168.176.6 主机名称是node1.magedu.com: node2:192.168.176.6 主机名称是node1.magedu.com: 实现目的:在节点n ...