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

QQ登录

只需一步,快速开始

查看: 17864|回复: 11

[结贴] JS方法之间调用会报this.comp is not function异常

  [复制链接]

128

主题

491

帖子

1058

积分

金牌会员

Rank: 6Rank: 6

积分
1058
QQ
发表于 2015-7-8 16:46:57 | 显示全部楼层 |阅读模式
版本: 小版本号:
数据库: 服务器操作系统: 应用服务器:
客户端操作系统: 浏览器:
如图:
第一张是源码,第二个是异常。不知道为什么每次这样调用都会报错。主要功能是通过店家增加按钮跳转到另一个.w文件并且新建一行新的记录。
尝试过用var that = this;that.comp("meetingData");仍旧报错。
错.png 提示.png

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2015-7-8 17:47:51 | 显示全部楼层
在button3Click获取到data,然后把data当参数传给editDeatail用

如button3Click中data定义为
var data = this.comp("meetingData");


editDeatail函数定义为
Model.prototype.editDeatail = function(rowid,isNew,data){

   data.getValue(XXXX);
}

在调用editDeatail函数的时候直接把获取好的data传过来
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

128

主题

491

帖子

1058

积分

金牌会员

Rank: 6Rank: 6

积分
1058
QQ
 楼主| 发表于 2015-7-9 09:18:13 | 显示全部楼层
也就是这么写?
Model.prototype.button3Click = function(event){
        var data = this.comp("meetingData");
        var fee_seq;
                //若是预算编码不为空,则打开会议编辑页面并将参数传递过去
                if(fee_seq === null || fee_seq === ""){
                        alert("请先选择预算编码!");
                }else{
                        Model.prototype.editDetail(null,true,data);
                }
        };
Model.prototype.editDetail = function(rowid, isNew,detailData){
                var data = {'rowid':rowid,'values':{},'isNew':isNew,'detailData':detailData};
//                var detail = this.comp("meetingData");
                if(rowid){
                        data.values = detailData.getValue(detailData.getColumnIDs(), rowid);
                }
                this.comp('windowDialog1').open({"data":data});
        };
这样还是不行。。
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2015-7-9 11:20:19 | 显示全部楼层
对,不行在js中debugger调试看看具体什么地方不行
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

128

主题

491

帖子

1058

积分

金牌会员

Rank: 6Rank: 6

积分
1058
QQ
 楼主| 发表于 2015-7-9 13:56:46 | 显示全部楼层
上面没有报错了,下面跳转报错。 this.comp('windowDialog1').open({"data":data});同样是this.comp() is not a function
回复 支持 反对

使用道具 举报

128

主题

491

帖子

1058

积分

金牌会员

Rank: 6Rank: 6

积分
1058
QQ
 楼主| 发表于 2015-7-9 13:59:15 | 显示全部楼层
还有一个问题想问一下,我在一个主界面中录入了上面的数据,然后中途点击按钮跳转到其他content中增加数据,然后传递回来,当再次跳转回主界面时,之前录入的数据会不见了,怎样才能保留之前录入的数据,继续填写下面的?因为如果这样可以,我就可以不用windowDialog了。谢谢
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2015-7-9 17:33:58 | 显示全部楼层
1.windowdialog同样的先在button3Click中获取到对象,然后做参数传递
2.你在content的切换事件中是否去刷新数据了?
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

18

主题

51

帖子

155

积分

初级会员

Rank: 2

积分
155
QQ
发表于 2016-2-2 19:32:20 | 显示全部楼层
风语者 发表于 2015-7-9 13:56
上面没有报错了,下面跳转报错。 this.comp('windowDialog1').open({"data":data});同样是this.comp() is n ...

http://bbs.wex5.com/forum.php?mod=viewthread&tid=74644
我也遇到了以上的问题
本意是用异步的回调函数用json初始化Data但发现newData说没有定义
是存在想.net的夸线程的问题吗?还是???
回复 支持 反对

使用道具 举报

发表于 2016-2-3 09:06:11 | 显示全部楼层
风语者 发表于 2015-7-9 09:18
也就是这么写?
Model.prototype.button3Click = function(event){
        var data = this.comp("meetingData"); ...

写法不对
Model.prototype.editDetail(null,true,data);这行代码应该换成
this.editDetail(null,true,data);
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

128

主题

491

帖子

1058

积分

金牌会员

Rank: 6Rank: 6

积分
1058
QQ
 楼主| 发表于 2016-2-15 17:04:38 | 显示全部楼层
解决了,请结贴。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-6 16:11 , Processed in 0.069197 second(s), 28 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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