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

QQ登录

只需一步,快速开始

楼主: 邹胖胖

[结贴] 动态插入html片段

[复制链接]
发表于 2017-4-26 15:55:55 | 显示全部楼层
邹胖胖 发表于 2017-4-26 15:36
是啊。我复制过来的,肯定没错

我的意思是你的页面中contents组件的xid是什么??自己看一下!!xid不一定一样的!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

165

主题

626

帖子

1160

积分

金牌会员

Rank: 6Rank: 6

积分
1160
QQ
 楼主| 发表于 2017-4-26 16:05:03 | 显示全部楼层
就是content2啊。我复制过来的,而且我也不可能把xid写错啊,我肯定是检查过的
回复 支持 反对

使用道具 举报

165

主题

626

帖子

1160

积分

金牌会员

Rank: 6Rank: 6

积分
1160
QQ
 楼主| 发表于 2017-4-26 16:05:22 | 显示全部楼层
liangyongfei 发表于 2017-4-26 15:55
我的意思是你的页面中contents组件的xid是什么??自己看一下!!xid不一定一样的! ...

就是content2啊。我复制过来的,而且我也不可能把xid写错啊,我肯定是检查过的
回复 支持 反对

使用道具 举报

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

那你debugger调试一下  this.comp("content2")  获取的对象是什么??如果xid真的存在,就不可能报错 'add' of undefined

报这个错误唯一的原因就是组件对象没得到!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

165

主题

626

帖子

1160

积分

金牌会员

Rank: 6Rank: 6

积分
1160
QQ
 楼主| 发表于 2017-4-26 16:32:08 | 显示全部楼层
liangyongfei 发表于 2017-4-26 16:12
那你debugger调试一下  this.comp("content2")  获取的对象是什么??如果xid真的存在,就不可能报错 'ad ...

我知道了。xid是没有错,但是我把content放在一个div里面的,所以获取不到组件。现在我直接把content放在panel下面了:
var temp = this.comp("content2");  
//获取到的temp:temp = n {height: "48", visible: true, ___inited: Object, __eventOperation__: Object, events: Object…}
var parent = this.comp("content2").add({});
又报这个错:
Uncaught TypeError: this.comp(...).add is not a function
回复 支持 反对

使用道具 举报

发表于 2017-4-26 16:40:45 | 显示全部楼层
邹胖胖 发表于 2017-4-26 16:32
我知道了。xid是没有错,但是我把content放在一个div里面的,所以获取不到组件。现在我直接把content放在 ...

和div 没关系的!contents 是一个组件!是contents  而不是content
少一个s 不是同一个组件的

建议使用这个案例测一下吧
/UI2/system/components/justep/contents/demo/contents.w
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

165

主题

626

帖子

1160

积分

金牌会员

Rank: 6Rank: 6

积分
1160
QQ
 楼主| 发表于 2017-4-26 16:48:32 | 显示全部楼层
liangyongfei 发表于 2017-4-26 16:40
和div 没关系的!contents 是一个组件!是contents  而不是content
少一个s 不是同一个组件的

var div = $("<div data-bind='click:divClick'>新的页面</div>");
                var temp = this.comp("contents2");
                var parent = this.comp("contents2").add({});
                justep.Bind.addNode(parent.domNode, div);
我改成contents了,add方法是可以了,但是又报错说:
Uncaught Error: ko.applyBindings: first parameter should be your view model; second parameter should be a DOM node;
写法我都是照着文档搬过来的
回复 支持 反对

使用道具 举报

165

主题

626

帖子

1160

积分

金牌会员

Rank: 6Rank: 6

积分
1160
QQ
 楼主| 发表于 2017-4-26 16:52:22 | 显示全部楼层
liangyongfei 发表于 2017-4-26 16:40
和div 没关系的!contents 是一个组件!是contents  而不是content
少一个s 不是同一个组件的

var div = $("<div data-bind='click:divClick'>新的页面</div>");
var parent = this.comp("pages").add({});
justep.Bind.addNode(parent.domNode, div);
我拿到你说的那个案例里面去测试了,依然是 ko.applyBindings: first parameter should be your view model; second parameter should be a DOM node;这个错
回复 支持 反对

使用道具 举报

165

主题

626

帖子

1160

积分

金牌会员

Rank: 6Rank: 6

积分
1160
QQ
 楼主| 发表于 2017-4-26 17:42:17 | 显示全部楼层
有没有人帮忙解答下啊啊啊啊,急死我啦
回复 支持 反对

使用道具 举报

发表于 2017-4-26 17:53:36 | 显示全部楼层
邹胖胖 发表于 2017-4-26 17:42
有没有人帮忙解答下啊啊啊啊,急死我啦

本地测试没问题!注意的是
  1. //div的click事件调用的divClick方法
  2.     Model.prototype.divClick = function(){
  3.         alert('单击事件');
  4.     };
复制代码
这段代码是在外边的!不要写在同一个方法中!

demo.rar

2.5 KB, 下载次数: 57

qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-30 18:27 , Processed in 0.124656 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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