首页页面事件触发
发布于 6 年前 作者 tao12 18374 次浏览 来自 问答

请问如何从其他页面如何触发首页的事件  例如 从列表选择一个选项,传参返回到首页并触发ajax

例如 fire函数 或者 eventlisten的监听有吗

页面逻辑是这样的 首页有一个按钮 点击进去有一个列表页 在列表页选择一个选项后 我想把这个选项的id传回去首页并用这个id去触发ajax;

首页是tabBar

6 回复

可以在app.js设置一个全局变量A,列表选择的时候给这个A赋值,回到首页onShow里检查A的值,再进行相关逻辑处理;

但注意处理完以后要给A初始化,不然每次onShow都会调用处理,就是说应该是有一定条件才能进行相关处理。

以上仅是一个小建议,也可以通过缓存处理这个业务。主要是tabBar不能传参的问题

onShow: function () {
        if (!app.selectedPoint){
            return;
        }
        if (app.pointType == '起点'){
            this.setData({
                begin: app.selectedPoint
            });
        }
        else{
            this.setData({
                end: app.selectedPoint
            });
        }
        this.afterSelect();
        app.selectedPoint = null;
    },

我已经这么用过,首先判断selectedPoint的值,如果有值,就执行逻辑,执行完,再把selectedPoint设置为null

这里注意几个问题:

1、首页是tabBar?如果是tabBar的话是不能带参跳转的;

2、假设不是tabBar,那么是点击返回返回吗?如果是返回键的话是不会带参返回的,而且page的onShow是不能接收参数的,只能在onLoad接收参数;

3、那这里的问题就是纯跳转,还是参数是重点?

我来分析楼主的情形,在首页点击一个按钮,打开一个页面,选择某项东西,然后关闭该页,回到首页,首页想得到刚才选择的东西。

我的解决方案:

1、选择某项东西后,在全局App中记录该项

getApp().foo = bar

2、回到首页后,在onShow事件中获取刚才选择的

getApp().foo

回到顶部