使用jsRender而不是jquery模板插件

时间:2013-12-16 16:49:06

标签: jquery template-engine jquery-templates jsrender jquery-1.9

我正在使用jQuery 1.9+,我想使用jsRender而不是jQuery模板,因为它已被弃用,我无法在我的应用程序中使用。

我在https://github.com/BorisMoore/jsrender上看过几个例子,特别是第一个例子。 它的代码在一个html文件中,它由一个html文件使用,但我想在一个单独的javascript文件中做它。我想这样做,因为我有一个非常大的应用程序,我将jquery / javascript函数存储在一个js文件中。

所以我想修改这段代码:

    <script id="movieTemplate" type="text/x-jsrender">
        <div>
                {{:#index+1}}: <b>{{>name}}</b> ({{>releaseYear}})
        </div>
</script>

<div id="movieList"></div>

<script type="text/javascript">

        var movies = [
                { name: "The Red Violin", releaseYear: "1998" },
                { name: "Eyes Wide Shut", releaseYear: "1999" },
                { name: "The Inheritance", releaseYear: "1976" }
        ];


        $( "#movieList" ).html(
                $( "#movieTemplate" ).render( movies )
        );

</script>

如何修改此代码以在js文件中使用它?或者是否有任何模板引擎我可以使用而不是jQuery模板插件?

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

可以从字符串或HTML文件中的脚本块编译模板。

请参阅Registering templates: $.templates() - 例如使用的示例:

var myTmpl = $.templates("<label>Name:</label> {{:name}}");

var person = {name: "Robert"};

var html = myTmpl.render(person);

$("#peopleList").html(html);

另见网站上的其他示例,例如: