code: function TemplateNode(aNode, parent, scope, owner, reverseWalker) {
      this.aNode = aNode;
      this.owner = owner;
      this.scope = scope;
      this.parent = parent;
      this.parentComponent = parent.nodeType === NodeType.CMPT
          ? parent
          : parent.parentComponent;
  
      this.id = guid++;
      this.lifeCycle = LifeCycle.start;
      this.children = [];
  
      // #[begin] reverse
      if (reverseWalker) {
          this.sel = document.createComment(this.id);
          insertBefore(this.sel, reverseWalker.target, reverseWalker.current);
  
          var me = this;
          each(this.aNode.children, function (aNodeChild) {
              me.children.push(createReverseNode(aNodeChild, me, me.scope, me.owner, reverseWalker));
          });
  
          this.el = document.createComment(this.id);
          insertBefore(this.el, reverseWalker.target, reverseWalker.current);
  
          this.lifeCycle = LifeCycle.attached;
      }
      // #[end]
  }
docs: template 节点类
  
  @class
  @param {Object} aNode 抽象节点
  @param {Node} parent 父亲节点
  @param {Model} scope 所属数据环境
  @param {Component} owner 所属组件环境
  @param {DOMChildrenWalker?} reverseWalker 子元素遍历对象