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

QQ登录

只需一步,快速开始

查看: 997|回复: 2

[结贴] 关于bind-click页面加载时就被执行的问题

[复制链接]

8

主题

23

帖子

67

积分

初级会员

Rank: 2

积分
67
QQ
发表于 2016-5-30 10:00:49 | 显示全部楼层 |阅读模式
我在仿淘宝案例下做个测试页面(代码如下),用bind-click='$model.Deal1(val("fID"))' 这样的写法想来实现 动态数据的事件绑定,发现页面执行是,就自动执行 Deal1 方法了(有条数据,执行了几次),我是要想点击后再执行啊,要怎么实现?
<?xml version="1.0" encoding="utf-8"?>
<div xmlns="http://www.w3.org/1999/xhtml" component="$UI/system/components/justep/window/window">  
   <div component="$UI/system/components/justep/model/model" xid="model" style="height:auto;left:32px;top:226px;">
    <div component="$UI/system/components/justep/data/data" autoLoad="true"
      xid="rootClassData" idColumn="fID">
      <column label="id" name="fID" type="String" xid="default6"/>  
      <column label="标题" name="fClassName" type="String" xid="xid6"/>
    </div>  
</div>
  <div component="$UI/system/components/justep/list/list" class="x-list tb-root" xid="rootClassList" data="rootClassData" dataItemAlias="rootClassRow">
            <ul class="x-list-template list-group" xid="listTemplateUl1">
              <li xid="li1" bind-css="{'current':rootClassRow.val('fID')==$model.rootClassData.val('fID')}" class="list-group-item text-center tb-nopadding" bind-click='$model.Deal1(val("fID"))'>
                <h5 xid="h52" bind-text="ref('fClassName')" class="text-black"><![CDATA[]]></h5>
              </li>
            </ul>
          </div></div>


  
define(function(require) {
var justep = require("$UI/system/lib/justep");
var Message = require("$UI/system/components/justep/common/common");
var allData = require("./js/loadData");
var Model = function() {
  this.callParent();
};

  Model.prototype.rootClassDataCustomRefresh = function(event){  
  /* 1、加载一级分类数据  */
  var url = require.toUrl("./class/json/rootClassData.json");
  allData.loadDataFromFile(url,event.source,true);      
};

  
  Model.prototype.Deal1 = function(num){  
        alert(num);
         };
  
Model.prototype.modelLoad = function(event){

};
return Model;
});

发表于 2016-5-30 14:57:10 | 显示全部楼层
在bind-click中直接写Deal1就可以了!不能写括号!否则就会调用这个方法的!
在点击事件中获取当前行值的方法是
event.bindingContext.$object.val('fID');
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

8

主题

23

帖子

67

积分

初级会员

Rank: 2

积分
67
QQ
 楼主| 发表于 2016-5-30 15:10:17 | 显示全部楼层
bind-click='Deal1'

Model.prototype.Deal1 = function(event){  
       alert(event.bindingContext.$object.val('fID'));
         };       
改成上面这样可以了,谢谢版主。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-18 07:05 , Processed in 0.072559 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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