Backbone——使用underscore template

1. 先定义转义符,因为默认的转义符<%= %> 与jsp的冲突      

    _.templateSettings = {

       interpolate : /\{\{(.+?)\}\}/g

    };

 

2. 在页面编写一个模版

    <script type="text/template" id="detailedBar-template">

        <div class='title'>

            <span class='label'>本次消费</span>

            <span class='numOfDinner'>{{numOfDiner}}人用餐</span>

            <span class='amount'><span class='symbol'>{{currencySymbol}}</span>{{amount}}</span>

        </div>

    </script>

 

3. 调用这个js模板

        var detailedBartemplate = _.template($('#detailedBar-template').html(),

            {numOfDiner: detailedInfo.numOfDiner, currencySymbol: self.currencySymbol, amount: detailedInfo.amount}

        );

        $detailedList.append(detailedBartemplate);

 

 

Thinking

调用时,_.template(,)的第二个参数位是指定传入模板的参数

 

注意代码的红色强调处

Uncaught TypeError: Cannot call method ‘replace’ of null (underscore.js:768)

You’re calling an underscore template put not passing in the data it uses in the template. You’re referencing an underscore template that doesn’t exist. You could have created a new template but forgot to change it’s id.

posted @ 2013-01-20 10:18  疾行の亚索  阅读(918)  评论(0编辑  收藏  举报