首页页面事件触发

发布于 7 年前作者 tao1218532 次浏览最后编辑 7 年前来自 ask

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

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

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

首页是tabBar

6 回复
guiying89
guiying891 楼6 年前

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

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

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

xiuying37
xiuying372 楼6 年前
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

mayong
mayong3 楼6 年前

这里注意几个问题:

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

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

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

hanjie
hanjie4 楼6 年前

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

我的解决方案:

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

getApp().foo = bar

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

getApp().foo

leicheng
leicheng5 楼6 年前

谢谢两位

yong19
yong196 楼5 年前

onShow