关于改变DOM结构实现relativeTo里面的parent的问题

来源:

廖熊猫

2016-09-18

 component.on('onLoad',function(){   
        if( cfg.relativeTo ){
            var parent = component.parent().find('.h5_component_name_'+cfg.relativeTo);
            if(parent.size()){
                component.appendTo(parent);
            }
            cfg.relativeTo  = false;
        }

        setTimeout(function(){
            component.addClass(cls+'_load').removeClass(cls+'_leave');
            cfg.animateIn && component.animate( cfg.animateIn );
        },cfg.delay || 0)

        return false;
    })

var parent = component.parent().find('.h5_component_name_'+cfg.relativeTo);

这个里面的获取parent应该发生在插入component元素以前吧,那component不就不存在parent了么?

写回答

1回答

Lyn

2016-09-19

这个代码是在 'onLoad' 的时候,执行的。我们可以看下 compnet 从创建到被插入的顺序。

  1. H5().addPage().addCompnent() ,执行完成后, componet 被插入到当前的 page 中

  2. Page 内所有 Component  触发 onLoad 操作,如果当前 Component 有relativeTo 参数,则调整自己的'位置',把自己插入到 Parent 中

所以不会决不你说的那个问题,“component 从 parent 中抽走被追加到 page 中”


0
1
廖熊猫
感谢…我再好好看看前面的代码
2016-09-20
共1条回复

Web App用组件方式开发全站

用HTML5/CSS3/JS流行技术,实现移动端可视化数据报告

3164 学习 · 516 问题

查看课程