JsRender未按预期呈现

时间:2012-09-20 09:00:59

标签: jsrender

这是我的模板;

<script id="DepartmentTemplate" type="text/x-jquery-tmpl">
        {{ for BusinessUnitName }}
            <li>{{:#data}}</li>
        {{/for }}
    </script>

这是我发送数据的地方;

RenderDepartments = function (data) {
            $('#departmentList').empty();
            $('#departmentList').html($('#DepartmentTemplate').render($.parseJSON(data)));
        };

这就是我放置数据的地方;

<ul id="departmentList"><%: Html.DisplayFor(model => model.AdditionalDepartmentList) %></ul>

这是接收到函数数据参数的数据;

{\"BusinessUnitName\":[\"Design and Build (Technical)\",\"Architectual Design\",\"ICT\",\"Mechanical & Electrical \",\"Safety Management\"]}

我不知道是否需要使用jquery $ .parseJson,但无论哪种方式都无法正确呈现数据。 使用$ .parseJson,它呈现为;

{{ for BusinessUnitName }} 
•[object Object]
 {{/for }} 

如果没有它呈现为

{{ for BusinessUnitName }} 
•{"BusinessUnitName":["Architectual Design","ICT","Mechanical & Electrical ","Safety Management","Marketing"]}
 {{/for }} 

所以在屏幕上我看到的是一些模板定义,而不是列表。 我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

问题出现在空格中,删除后,代码按预期工作:

<script id="DepartmentTemplate" type="text/x-jquery-tmpl">
    {{for BusinessUnitName}}
         <li>{{:#data}}</li>
    {{/for}}
</script>