1. function initTemplate(temp){
    2. var firstChild,
    3. df = document.createDocumentFragment();
    4. while(firstChild = temp.firstChild){
    5. df.appendChild(firstChild);
    6. };
    7. compile(df)
    8. }
    9. function compile(df){
    10. var firstChild,
    11. children = df.childNodes,
    12. len = children.length;
    13. for(var k =0;k<len;k++){
    14. if(isElementNode(children[k)){
    15. compile(children[k])
    16. }else{
    17. compileTextNode(chilren[k])
    18. }
    19. }
    20. function compileTextNode(tNode){
    21. if(!tNode.expr){
    22. tNode.expr = tNode.textContent;
    23. }
    24. tNode.textContent.replace(reg,function(node,key){
    25. return getVal(vm,key)
    26. })
    27. }
    28. function getVal(vm,key){
    29. var arrs = key.replace(/\s+/,'').split(".");
    30. arrs.reduce((prev,cur)=>{
    31. return prev[cur]
    32. },vm)
    33. }