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

QQ登录

只需一步,快速开始

查看: 7148|回复: 11

[处理中3] 关于filters.setVar的问题

[复制链接]

6

主题

22

帖子

116

积分

初级会员

Rank: 2

积分
116
QQ
发表于 2016-6-8 13:43:19 | 显示全部楼层 |阅读模式
我模仿外卖案例里面的filters.setVa(),发现一个很奇怪的问题,如果用这个js代码,数据可以正确的刷新出来
  1.         Model.prototype.modelLoad = function(event){
  2.         };
  3.         Model.prototype.baasData1Create = function(event){
  4.                 this.comp('baasData1').filters.setVar("user", this._userID);
  5.                 this.comp('baasData1').refreshData();
  6.         };
复制代码
但是如果把filters.setVar()放到 modelLoad 里面去执行就刷新不出数据(注:model组件已经设置事件onload调用 modelLoad,然后baasData1组件autoLoad属性是false,添加了过滤条件fID=:user):
  1.         Model.prototype.modelLoad = function(event){
  2.                 this.comp('baasData1').filters.setVar("user", this._userID);
  3.                 this.comp('baasData1').refreshData();
  4.         };
  5.         Model.prototype.baasData1Create = function(event){
  6.                
  7.         };
复制代码
麻烦大神看看,我的代码是哪里有问题.非常感谢



12

主题

2627

帖子

2866

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2866
发表于 2016-6-8 14:02:38 | 显示全部楼层
在modelLoad中, alert(this._userID), 看看是多少
回复 支持 反对

使用道具 举报

6

主题

22

帖子

116

积分

初级会员

Rank: 2

积分
116
QQ
 楼主| 发表于 2016-6-8 14:06:42 | 显示全部楼层
hecr 发表于 2016-6-8 14:02
在modelLoad中, alert(this._userID), 看看是多少
  1.         var Model = function(){
  2.                 this.callParent();       
  3.                 this._userID ="user";               
  4.         };

  5.         Model.prototype.modelLoad = function(event){
  6.                 alert(this._userID);
  7.                 this.comp('baasData1').filters.setVar("user", this._userID);
  8.                 this.comp('baasData1').refreshData();
  9.                
  10.         };
复制代码
alert结果是 user;
回复 支持 反对

使用道具 举报

12

主题

2627

帖子

2866

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2866
发表于 2016-6-8 14:17:36 | 显示全部楼层
在chrome中, F12, 看看网络请求, 其中有一个请求是刷新数据的, 看看那个请求返回的数据是什么
回复 支持 反对

使用道具 举报

6

主题

22

帖子

116

积分

初级会员

Rank: 2

积分
116
QQ
 楼主| 发表于 2016-6-8 14:29:51 | 显示全部楼层
hecr 发表于 2016-6-8 14:17
在chrome中, F12, 看看网络请求, 其中有一个请求是刷新数据的, 看看那个请求返回的数据是什么 ...
  1. @type: "table", rows: [,…],…}
  2. @type: "table"
  3. rows: [,…]
  4. 0: {fAddress: {value: "心血管科"}, fID: {value: "user"}, fName: {value: "老黄1"}, fNickname: {value: "非微信用户"},…}
  5. userdata: {relationAlias: "fID,fNickname,fName,fSatus,fAddress,fPhoneNumber",…}
  6. relationAlias: "fID,fNickname,fName,fSatus,fAddress,fPhoneNumber"
  7. relationTypes: "String,String,String,String,String,String"
  8. sys.count: 1
复制代码
  1. @type: "table", rows: [],…}
  2. @type: "table"
  3. rows: []
  4. userdata: {relationAlias: "fID,fNickname,fName,fSatus,fAddress,fPhoneNumber",…}
  5. relationAlias: "fID,fNickname,fName,fSatus,fAddress,fPhoneNumber"
  6. relationTypes: "String,String,String,String,String,String"
  7. sys.count: 0
复制代码
有2个queryUser




回复 支持 反对

使用道具 举报

6

主题

22

帖子

116

积分

初级会员

Rank: 2

积分
116
QQ
 楼主| 发表于 2016-6-8 14:35:53 | 显示全部楼层
本帖最后由 niutoux 于 2016-6-8 14:37 编辑
hecr 发表于 2016-6-8 14:17
在chrome中, F12, 看看网络请求, 其中有一个请求是刷新数据的, 看看那个请求返回的数据是什么 ...

如果把这2行代码放到baasData1Create里执行,只会有一个quleryUser 结果是
  1. Model.prototype.baasData1Create = function(event){
  2.                 this.comp('baasData1').filters.setVar("user", this._userID);
  3.                 this.comp('baasData1').refreshData();
  4.         };
复制代码

  1. @type: "table", rows: [,…],…}
  2. @type: "table"
  3. rows: [,…]
  4. 0: {fAddress: {value: "心血管科"}, fID: {value: "user"}, fName: {value: "老黄1"}, fNickname: {value: "非微信用户"},…}
  5. userdata: {relationAlias: "fID,fNickname,fName,fSatus,fAddress,fPhoneNumber",…}
  6. relationAlias: "fID,fNickname,fName,fSatus,fAddress,fPhoneNumber"
  7. relationTypes: "String,String,String,String,String,String"
  8. sys.count: 1
复制代码



回复 支持 反对

使用道具 举报

6

主题

22

帖子

116

积分

初级会员

Rank: 2

积分
116
QQ
 楼主| 发表于 2016-6-8 15:35:52 | 显示全部楼层
管理员大人睡着了?没下文了?
回复 支持 反对

使用道具 举报

发表于 2016-6-8 16:54:37 | 显示全部楼层
niutoux 发表于 2016-6-8 14:35
如果把这2行代码放到baasData1Create里执行,只会有一个quleryUser 结果是

后台怎么写的???
http://docs.wex5.com/wex5-server-question-list-2006/

使用data.setFilter('filter',"fID='"+this._userID+"'");
data.refreshData();
试试!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

6

主题

22

帖子

116

积分

初级会员

Rank: 2

积分
116
QQ
 楼主| 发表于 2016-6-8 18:42:51 | 显示全部楼层
liangyongfei 发表于 2016-6-8 16:54
后台怎么写的???
http://docs.wex5.com/wex5-server-question-list-2006/

貌似  data.filters.seVar 是在后端查询,而data.setFilter是前端查询的,不想用data.setFilter
回复 支持 反对

使用道具 举报

64

主题

471

帖子

1127

积分

金牌会员

Rank: 6Rank: 6

积分
1127
发表于 2016-6-8 18:49:46 | 显示全部楼层
data.setFilter是在后端查询的, data.filters.setVar没使用过,不发表评论
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-8 08:00 , Processed in 0.089113 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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