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

QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: 一起GO

[处理中3] 没有对应data里的zhanghao,mima就直接跳转了?

[复制链接]
发表于 2016-8-19 17:25:12 | 显示全部楼层
一起GO 发表于 2016-8-19 16:27
怎么没有对应data里的zhanghao,mima就直接跳转了??

        var params = {

请问你的代码是写在data组件的onCustomRefresh事件中的吗??如果是
你在success 回调方法中执行refreshData 这样会死循环的!直接执行 userData.loadData就可以了!

如果不是写在onCustomRefresh  ,执行完loadData 方法后还需要执行下data.first()才可以切换到第一行!
否则data.getValue 是无法直接取值的!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

46

主题

227

帖子

378

积分

中级会员

Rank: 3Rank: 3

积分
378
QQ
 楼主| 发表于 2016-8-19 19:34:34 | 显示全部楼层
liangyongfei 发表于 2016-8-19 17:25
请问你的代码是写在data组件的onCustomRefresh事件中的吗??如果是
你在success 回调方法中执行refreshD ...

还没有写
回复 支持 反对

使用道具 举报

46

主题

227

帖子

378

积分

中级会员

Rank: 3Rank: 3

积分
378
QQ
 楼主| 发表于 2016-8-19 19:38:01 | 显示全部楼层
liangyongfei 发表于 2016-8-19 17:25
请问你的代码是写在data组件的onCustomRefresh事件中的吗??如果是
你在success 回调方法中执行refreshD ...

我是写在登录点击事件里

        Model.prototype.loginClick = function(event){//登录
                var self = this;
                var userData = this.comp("userData");

        if ( $.trim(this.comp('zhanghao').val()) === "" || $.trim(this.comp('mima').val()) === "") {
               this.comp("messageDialog").show({
                    "title" : "提示",
                    "message" : "忘记输入账号或密码?"
                });
          }else{
        
        var params = {
                "zhanghao":this.comp('zhanghao').val(),
                "mima":this.comp('mima').val()
                };
        var success = function(resultData) {
            userData.loadData(resultData);
            userData.refreshData();
            if (userData.val('zhanghao')&&userData.val('mima')) {
                localStorage.setItem('zhanghao',userData.val('zhanghao'));
                localStorage.setItem('mima',userData.val('mima'));

                justep.Shell.showPage("app");   //登录成功,跳转到APP首页
                                
                }else{
                 self.comp("messageDialog").show({
                      "title" : "温馨提示",
                      "message" : "用户名或密码不正确!"
                    });
              }        
        };      
        Baas.sendRequest({
                        "url" : "/gongzuoshi/x8", // servlet请求地址
                        "action" : "queryX8_user", // action
                        "params" : params, // action对应的参数
                        "success" : success // 请求成功后的回调方法
                });      
           }
        };
回复 支持 反对

使用道具 举报

发表于 2016-8-22 09:32:24 | 显示全部楼层
一起GO 发表于 2016-8-19 19:38
我是写在登录点击事件里

        Model.prototype.loginClick = function(event){//登录

那你就需要把发送请求加载data数据的逻辑写在onCustomRefresh 事件中!并且在回调的代码中去掉
userData.refreshData();  在点击事件中你调用userData.refreshData();  就可以触发这个事件了!

上边是推荐方案!如果还是按你的代码来!那在success回调中执行完
userData.loadData(resultData); 后应该执行 userData.first()  还有吧  userData.refreshData();去掉!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

46

主题

227

帖子

378

积分

中级会员

Rank: 3Rank: 3

积分
378
QQ
 楼主| 发表于 2016-8-23 14:34:37 | 显示全部楼层
liangyongfei 发表于 2016-8-22 09:32
那你就需要把发送请求加载data数据的逻辑写在onCustomRefresh 事件中!并且在回调的代码中去掉
userData. ...

onCustomRefresh 事件中写什么代码,能给我一段代码吗?
回复 支持 反对

使用道具 举报

发表于 2016-8-24 17:37:14 | 显示全部楼层
一起GO 发表于 2016-8-23 14:34
onCustomRefresh 事件中写什么代码,能给我一段代码吗?

就是写你点击事件中 Baas.sendRequest  那一段代码!直接复制过来就可以 !
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

46

主题

227

帖子

378

积分

中级会员

Rank: 3Rank: 3

积分
378
QQ
 楼主| 发表于 2016-8-26 23:19:55 | 显示全部楼层
liangyongfei 发表于 2016-8-24 17:37
就是写你点击事件中 Baas.sendRequest  那一段代码!直接复制过来就可以 !

显示params, success都没有定义,params, success怎么定义?

        Model.prototype.loginClick = function(event){//登录
                var self = this;
                var userData = this.comp("userData");
               
        if ( $.trim(this.comp('zhanghao').val()) === "" || $.trim(this.comp('mima').val()) === "") {
               this.comp("messageDialog").show({
                    "title" : "提示",
                    "message" : "忘记输入账号或密码?"
                });
          }else{
        
        var params = {
                "zhanghao":this.comp('zhanghao').val(),
                "mima":this.comp('mima').val()
                };
        var success = function(resultData) {
            userData.loadData(resultData);
            if (userData.val('zhanghao')&&userData.val('mima')) {
                localStorage.setItem('zhanghao',userData.val('zhanghao'));
                localStorage.setItem('mima',userData.val('mima'));

                justep.Shell.showPage("app");   //登录成功,跳转到APP首页
                                
                }else{
                 self.comp("messageDialog").show({
                      "title" : "温馨提示",
                      "message" : "用户名或密码不正确!"
                    });
              }        
        };      
     
           }
        };

        Model.prototype.userDataCustomRefresh = function(event){
        Baas.sendRequest({
                        "url" : "/gongzuoshi/x8", // servlet请求地址
                        "action" : "queryX8_user", // action
                        "params" : params, // action对应的参数
                        "success" : success // 请求成功后的回调方法
                });      
        };
回复 支持 反对

使用道具 举报

发表于 2016-8-29 10:05:43 | 显示全部楼层
一起GO 发表于 2016-8-26 23:19
显示params, success都没有定义,params, success怎么定义?

        Model.prototype.loginClick = func ...

当然没有定义了!params, success 也要写在userDataCustomRefresh  这个方法中的!
这个数据js基础知识,作用域的问题~!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

46

主题

227

帖子

378

积分

中级会员

Rank: 3Rank: 3

积分
378
QQ
 楼主| 发表于 2016-8-29 16:38:27 | 显示全部楼层
本帖最后由 一起GO 于 2016-8-29 16:40 编辑
liangyongfei 发表于 2016-8-29 10:05
当然没有定义了!params, success 也要写在userDataCustomRefresh  这个方法中的!
这个数据js基础知识, ...

还是不行啊

define(function(require){
        var $ = require("jquery");
        var justep = require("$UI/system/lib/justep");
    var Baas = justep.Baas;
        var Model = function(){
                this.callParent();
        };

        Model.prototype.loginClick = function(event){//登录               
        if ( $.trim(this.comp('zhanghao').val()) === "" || $.trim(this.comp('mima').val()) === "") {
               this.comp("messageDialog").show({
                    "title" : "提示",
                    "message" : "忘记输入账号或密码?"
                });
          }
        

     
   
        };

        Model.prototype.userDataCustomRefresh = function(event){
                var self = this;
                var userData = this.comp("userData");

        var params = {
                "zhanghao":this.comp('zhanghao').val(),
                "mima":this.comp('mima').val()
                };
        var success = function(resultData) {
            userData.loadData(resultData);
            if (userData.val('zhanghao')&&userData.val('mima')) {
                localStorage.setItem('zhanghao',userData.val('zhanghao'));
                localStorage.setItem('mima',userData.val('mima'));

                justep.Shell.showPage("app");   //登录成功,跳转到APP首页
                                
                }else{
                 self.comp("messageDialog").show({
                      "title" : "温馨提示",
                      "message" : "用户名或密码不正确!"
                    });
              }        
        };
        Baas.sendRequest({
                        "url" : "/gongzuoshi/x8", // servlet请求地址
                        "action" : "queryX8_user", // action
                        "params" : params, // action对应的参数
                        "success" : success // 请求成功后的回调方法
                });      
        };

        Model.prototype.zhuceClick = function(event){//打开注册页面
        justep.Shell.showPage("userzhuce");
        };

        Model.prototype.modelLoad = function(event){

        };

        return Model;
});     
回复 支持 反对

使用道具 举报

发表于 2016-8-29 18:27:18 | 显示全部楼层
一起GO 发表于 2016-8-29 16:38
还是不行啊

define(function(require){

需要在点击事件中调用data.refreshData() 方法!进行数据刷新!才会触发userDataCustomRefresh 这个事件的!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-24 07:56 , Processed in 0.073781 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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