향상된 템플릿 교체

2678 단어 거푸집
이전에 아름다움만 프로젝트는 이긴 사람이 쓴 교체 방법으로 데이터를 바꿀 때 깊이 있게 훑어볼 수 없었습니다. 여기서 수정하겠습니다.
방법:
 1 function tempExt(h, data) {
 2                 return h.replace(/\{(.*?)\}/g, function (str, m) {
 3                     var arrM = m.split('.'),
 4                             t = data[arrM.shift()];
 5                     for (var i = 0, _len = arrM.length; i < _len; i++) {
 6                         t = t[arrM[i]];
 7                     }
 8                     return t === undefined || t === null ? '' : t;
 9                 });
10             }

테스트 데이터:
var testData = {
                d1: '1',
                d2: '2',
                d3: {
                    id: {
                        u: 1024
                    }
                }
            }
            var htmlTemp = '<p><span>{d1}</span><span>{d2}</span><span>{d3.id.u}</span></p>';

호출:
tempExt(htmlTemp, testData);

그렇습니다. 물론 다른 사람의 템플릿 엔진과 차이가 너무 많아서 논리적 운행을 실현할 수 없습니다. 이런 조작을 교체할 수 있지만 작은 범위의 단순한 데이터 교체는 사용할 수 있습니다.
--------외설적인 슬픈 분할선------------
아, 오늘 직장을 그만둬서 기분이 좀 나빠요.모두와 그렇게 오랫동안 함께 일했는데, 결국에는 여전히 하늘과 땅이 같다.
하고 싶은 말이 많아서 끝까지 말을 못했어요.
어쨌든 괜찮고 아껴라.
 
 
 
 
 
 
 

좋은 웹페이지 즐겨찾기