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

QQ登录

只需一步,快速开始

查看: 6046|回复: 23

[结贴] 动态插入html片段

[复制链接]

165

主题

626

帖子

1160

积分

金牌会员

Rank: 6Rank: 6

积分
1160
QQ
发表于 2017-4-25 21:03:32 | 显示全部楼层 |阅读模式
我的html片段是一个row里动态生成几个col,col里放img,img绑定了click事件;
document.getElementById(this.getIDByXID("div1")).innerHTML = html;我用这种方式可以正常插入,但是无法触发click事件;然后又看了文档中心,用如下方式:
var parent= this.comp('div1').add({});
justep.Bind.addNodes(parent.domNode, html);
测试了几遍,页面报了两个错:
1.Cannot read property 'add' of undefined
2.Cannot read property 'domNode' of undefined
难道是我的版本不对吗?我用的是3.6版本


  


165

主题

626

帖子

1160

积分

金牌会员

Rank: 6Rank: 6

积分
1160
QQ
 楼主| 发表于 2017-4-25 21:05:22 | 显示全部楼层
不知道可不可以用this.comp('div1')来获取div,但是用this.comp('content')也会报这两个错
回复 支持 反对

使用道具 举报

165

主题

626

帖子

1160

积分

金牌会员

Rank: 6Rank: 6

积分
1160
QQ
 楼主| 发表于 2017-4-26 09:36:29 | 显示全部楼层
有人吗?
回复

使用道具 举报

1

主题

6163

帖子

2095

积分

金牌会员

Rank: 6Rank: 6

积分
2095
QQ
发表于 2017-4-26 10:29:44 | 显示全部楼层
邹胖胖 发表于 2017-4-25 21:05
不知道可不可以用this.comp('div1')来获取div,但是用this.comp('content')也会报这两个错 ...

你这是参考的哪里吗?

正常的话 this.comp('div1')获取到的是dom对象  然后.add()方法是jquery方法  应该是会报错的

$(this.getElementByXid('div1'))  这个是jQuery对象
回复 支持 反对

使用道具 举报

165

主题

626

帖子

1160

积分

金牌会员

Rank: 6Rank: 6

积分
1160
QQ
 楼主| 发表于 2017-4-26 13:53:55 | 显示全部楼层
我是看的wex5的文档中心啊,用其他的方式也不行,会报错说addNodes的第一个参数必须是view model,文档中心里就是这么操作的
回复 支持 反对

使用道具 举报

发表于 2017-4-26 14:53:16 | 显示全部楼层
http://doc.wex5.com/comp-base/#2.2

案例中的add方法是contents组件!你是div当然不能用add方法!!

row组件应该是不支持动态new的!
只有实现了buildTemplet 方法的组件才能动态创建!!


justep.Bind.addNodes( );  两个参数!一个是父的dom节点!一个是组件对象
搞清楚参数的含义
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

165

主题

626

帖子

1160

积分

金牌会员

Rank: 6Rank: 6

积分
1160
QQ
 楼主| 发表于 2017-4-26 15:25:26 | 显示全部楼层
liangyongfei 发表于 2017-4-26 14:53
http://doc.wex5.com/comp-base/#2.2

案例中的add方法是contents组件!你是div当然不能用add方法!!

我用contents也是一样报错。。我上面说了
回复 支持 反对

使用道具 举报

165

主题

626

帖子

1160

积分

金牌会员

Rank: 6Rank: 6

积分
1160
QQ
 楼主| 发表于 2017-4-26 15:27:55 | 显示全部楼层
liangyongfei 发表于 2017-4-26 14:53
http://doc.wex5.com/comp-base/#2.2

案例中的add方法是contents组件!你是div当然不能用add方法!!

var parent = this.comp("content2").add({});
justep.Bind.addNode(parent.domNode, html);

Uncaught TypeError: Cannot read property 'add' of undefined
回复 支持 反对

使用道具 举报

发表于 2017-4-26 15:34:51 | 显示全部楼层
邹胖胖 发表于 2017-4-26 15:27
var parent = this.comp("content2").add({});
justep.Bind.addNode(parent.domNode, html);

xid确定是 叫做  content2  吗??
如果xid 写错了,肯定获取不到contents组件 对象的
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

165

主题

626

帖子

1160

积分

金牌会员

Rank: 6Rank: 6

积分
1160
QQ
 楼主| 发表于 2017-4-26 15:36:51 | 显示全部楼层
liangyongfei 发表于 2017-4-26 15:34
xid确定是 叫做  content2  吗??
如果xid 写错了,肯定获取不到contents组件 对象的 ...

是啊。我复制过来的,肯定没错
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-1 07:22 , Processed in 0.059277 second(s), 24 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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