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

QQ登录

只需一步,快速开始

查看: 1826|回复: 3

[处理中3] label组件bind-text设置成一个自定义函数,为啥执行3次?

[复制链接]

116

主题

276

帖子

510

积分

高级会员

Rank: 4

积分
510
QQ
发表于 2017-11-25 22:51:52 | 显示全部楼层 |阅读模式
定义1个data组件,定义2个字段fId,fPrice, 采用静态数据(初始设置后,假设有6条记录)自定义函数如下:
        Model.prototype.getPriceById = function(fId){
                var md = this.comp('priceData');
                console.log("md.count="+md.count());  //这行在label组件的bind-text调用时输出了3次,说明该函数被执行了3次
                var row = md.find(['fId'],[fId]);
                //debugger;
                if (row && row.length > 0)
                        return row[0].val('fPrice');
                else
                        return "";
                //return
        };

定义一个label组件,设置其 bind-text为 $model.getPriceById('4')(上述函数),结果发现上述函数被执行了3次,日志如下:

md.count=0  index.js:32
md.count=0  index.js:32
md.count=6  index.js:32


该函数getPriceById 没有在其他地方被调用
itemshow.zip (1.69 KB, 下载次数: 100)

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2017-11-27 17:58:31 | 显示全部楼层
console.log("md.count=" + md.count());这行导致的

应该data的这个count是动态计算的,每计算一次这个函数就会执行一次,把这个去掉就可以,你的实现应该也不需要这个
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

116

主题

276

帖子

510

积分

高级会员

Rank: 4

积分
510
QQ
 楼主| 发表于 2017-11-27 23:01:37 | 显示全部楼层
本帖最后由 jjsun 于 2017-11-27 23:03 编辑
jishuang 发表于 2017-11-27 17:58
console.log("md.count=" + md.count());这行导致的

应该data的这个count是动态计算的,每计算一次这个函 ...

与 md.count 有关吗? 这句只是getPriceById函数中的一行代码,该语句输出了3次,应该说明getPriceById函数被执行了3次的

注释掉 console.log("md.count=" + md.count());,增加一行 console.log("***getPriceById");日志跟踪看 该打印信息也输出了3次,即getPriceById函数执行了3次

getPriceById函数只在一个label中设置到bind-text中,为什么会执行3次呢?
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2017-11-30 08:53:38 | 显示全部楼层
调用的函数中有可变的数据就会导致执行多次
把操作data的都去掉看看
这个不影响使用,这个KO的逻辑
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-6 08:15 , Processed in 0.065142 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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