强调所需的.js知识



我最近一直在浏览underscore.js。我必须在result()

中发送参数
 result_.result(object, property)

下面是我的代码:

            var template = _.template($('#item-template').html());
            var templateData = {
             listTitle: "Olympic Volleyball Players",
             listItems: [
             {
                 name: "Misty May-Treanor",
                 hasOlympicGold: true,
                 links : "http://www.facebook.com"
             },
             {
                 name: "Kerri Walsh Jennings",
                 hasOlympicGold: true
             },
             {
                 name: "Jennifer Kessy",
                 hasOlympicGold: false
             },
             {
                 name: "April Ross",
                 hasOlympicGold: false
             }
             ]
         };
         var test_var = {name:'hello', func: test_func}
         var test_func = function(one, two){return one+two;}
            $('#target').append(template(templateData));

问题是我不能调用函数test_func与参数(一,二)是无论如何执行函数与它的参数?

模板:

            <script type="text/html" id="item-template">
                <h2 class="hello"><%= listTitle %></h2>
                <% _.each(listItems, function(value, key, list){%>
                <% if(value.hasOlympicGold){ %>
                <% if(value.links !== undefined){ %>
                <li>Name: <a href="<%= value.links %>"><%=value.name%></a></li>
                <% } else {%>
                <li>Name: <%=value.name%></li>
                <%= _.result(test_var,'func')%>
                <% } %>
                <% } %>
                <% }) %>
                </script> 

应该怎么做?请帮助。谢谢你。

将这些值添加到模板数据中。作用域在with语句中执行,所以这些变量对函数的作用域是不可见的。

var templateData = {
    test_var : test_var,
    test_func : test_func,
    listTitle: ...
}
http://jsfiddle.net/F38dg/

最新更新