起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1893|回复: 6

[结贴] 有没有什么办法 能让我在modeload用到我的参数?

[复制链接]

26

主题

119

帖子

271

积分

中级会员

Rank: 3Rank: 3

积分
271
QQ
发表于 2017-2-27 21:31:08 | 显示全部楼层 |阅读模式
我需要在modeload用到我传的参数,但是先加载的modeload,所以没法在modeload用我传过来的参数。  有没有什么办法 能让我在modeload用到我的参数?

377

主题

2594

帖子

5117

积分

论坛元老

Rank: 8Rank: 8

积分
5117
QQ
发表于 2017-2-28 08:19:52 | 显示全部楼层
敢不敢把代码贴上来在讲问题呀
长春鱼熊企业管理咨询有限公司



X5开发出入库培训视频
(出处: 起步论坛)
回复 支持 反对

使用道具 举报

26

主题

119

帖子

271

积分

中级会员

Rank: 3Rank: 3

积分
271
QQ
 楼主| 发表于 2017-2-28 09:45:10 | 显示全部楼层
Masion 发表于 2017-2-28 08:19
敢不敢把代码贴上来在讲问题呀

Model.prototype.modelParamsReceive = function(event){
                var context = this.getContext();
                var p1 = event.params.a1;
                var p2 = event.params.a2;
                this.comp("devData").newData({
                                defaultValues : [ {
                                        "fidID" :p1,
                                        "fName" :p2
                                       
                                } ]
                        });
                        //alert(this.comp("devData").val('fidID'));//能证实接收了数据
        };
Model.prototype.modelLoad = function(event) {       
           var sensorData = this.comp("sensorData");
           var devData = this.comp("devData");
       var value = [];
       var value2 = [];
       var time = [];
      
                if(sensorData.find(['dId'],  [devData.val('fidID')]).length <= 0)
           {
                   sensorData.each(function(param){
                                value.push(param.row.val('value'));
                                value2.push(param.row.val('value2'));
                        });
                        sensorData.next();
                                 
           }
           else
           {
                   alert(this.comp("devData").val('fidID'));
           }
               
        var option = {
            tooltip : {
                trigger: 'axis'
            },
            legend: {//上方的提示栏
                data:['温度','湿度','磁场','红外线','t1','t2','t3','t4','t5']
            },
            toolbox: {
                show : true,
                feature : {
                    mark : {show: true},
                    dataView : {show: true, readOnly: false},
                    magicType : {show: true, type: ['line', 'bar']},
                    restore : {show: true},
                    saveAsImage : {show: true}
                }
            },
            calculable : true,
            xAxis : [
                {
                    type : 'category',
                 
                    data : ['10分钟','20分钟','30分钟','40分钟','50分钟','60分钟','70分钟','80分钟','90分钟','100分钟','110分钟','120分钟']
                }
            ],
            yAxis : [
                {
                    type : 'value',
                    splitArea : {show : true}
                }
            ],
            series : [//在seris中设置具体的数据
                {
                    name:'温度',
                    type:'bar',

                    data :value
                  
                },
                {
                    name:'湿度',
                    type:'bar',
                  
                    data:value2
         
                },
                {
                    name:'磁场',
                    type:'bar',
                 
                   data:value
               
                },
                {
                    name:'红外线',
                    type:'bar',
                 
                    data:value2
                 
                }
            ]
        };
        var myChart = echarts.init(this.getElementByXid('main'));
        myChart.setOption(option);
        };
回复 支持 反对

使用道具 举报

26

主题

119

帖子

271

积分

中级会员

Rank: 3Rank: 3

积分
271
QQ
 楼主| 发表于 2017-2-28 09:48:32 | 显示全部楼层
Masion 发表于 2017-2-28 08:19
敢不敢把代码贴上来在讲问题呀

我想先接收参数,然后在加载echart图表时用到我传的参数。但是modeload先加载的,然后才加载paramreceive函数。不知道怎样才能先接受参数,然后在加载echart图表时用到我传的参数。我在想能不能将echart的加载方式移到别的地方,而不是放在modeload中
回复 支持 反对

使用道具 举报

发表于 2017-2-28 11:56:17 | 显示全部楼层
可以啊!echart的加载也可以放在onParamsReceive 事件中的!不一定非得放在onload事件中啊!
因为接受参数的事件比onload的事件晚,所以关于接受到参数后的处理逻辑,完全可以放在onParamsReceive 里面执行的!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

26

主题

119

帖子

271

积分

中级会员

Rank: 3Rank: 3

积分
271
QQ
 楼主| 发表于 2017-2-28 16:18:39 | 显示全部楼层
liangyongfei 发表于 2017-2-28 11:56
可以啊!echart的加载也可以放在onParamsReceive 事件中的!不一定非得放在onload事件中啊!
因为接受参数 ...

是这样的!谢谢!
回复 支持 反对

使用道具 举报

377

主题

2594

帖子

5117

积分

论坛元老

Rank: 8Rank: 8

积分
5117
QQ
发表于 2017-3-1 08:30:11 | 显示全部楼层
liangyongfei 发表于 2017-2-28 11:56
可以啊!echart的加载也可以放在onParamsReceive 事件中的!不一定非得放在onload事件中啊!
因为接受参数 ...

版主说得对
长春鱼熊企业管理咨询有限公司



X5开发出入库培训视频
(出处: 起步论坛)
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2025-7-1 16:38 , Processed in 0.060718 second(s), 24 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表