2013-06-15 3 views
3

나는이 같은 템플릿을 사용할 수 있습니다 :녹아웃으로 동적 템플릿을 만드는 방법은 무엇입니까? 녹아웃으로

<div data-bind="template: { name: 'person-template', data: buyer }"></div> 

    <script type="text/html" id="person-template"> 
     <h3 data-bind="text: name"></h3> 
     <p>Credits: <span data-bind="text: credits"></span></p> 
    </script> 

function MyViewModel() { 
     this.buyer = { name: 'Franklin', credits: 250 }; 
} 
ko.applyBindings(new MyViewModel()); 

이 아주 잘 작동하지만 난 다시 서버에서 얻을 데이터에 따라 즉석에서 자바 스크립트에서 템플릿을 만들 에 노력하고 있습니다.

내가 직면 한 동일한 문제에 대해 논의하고 ko.jqueryTmplTemplateEngine을 기반으로하는 솔루션을 설명하는 article가 있습니다.

누구든지 나를 도와 줄 수 있습니까?

아니면 다른 방법이 있습니까?

감사합니다.

답변

2

이것을 확인하십시오. 보시다시피 templatoUse는 항목 유형을 기반으로 템플릿을 만듭니다.

See fiddle

self.templatoUse = function (item) { 

    var tmplName = 'tmpl-' + item.type; 

    if ($('#' + tmplName).get().length == 0) { 
     // create template based on item type 
     var content = 'Template ' + tmplName + '<br/>&nbsp;<span data-bind="text:name"></span><br/>'; 

     // wrap the template  
     content = '<div id="' + tmplName + '">' + content + '</div>'; 

     // had it so it can be used 
     $('#templateContainer').append(content); 
    } 
    return tmplName; 

} 

는 나는 그것이 도움이되기를 바랍니다.

+0

완벽한 - 그게 내가 찾고 있던 것이다. – Marcel

관련 문제