使用knockout foreach生成元素,但保留静态元素

时间:2013-04-15 21:30:49

标签: knockout.js

我想使用Knockout生成以下HTML

<tr>
    <th>Substatus</th>
    <th>Header 1</th>
    <th>Header 2</th>
    <th>Total</th>
</tr>

如果数据模型看起来像这样......

function Model() {
    var self = this;
    self.headers = ko.observableArray([{ Description: 'Header 1' }, { Description: 'Header 2' }]);
}

请注意,数据模型未指定第一个和最后一个列标题,而是静态定义。如何更改以下模板以输出标题,就像我需要它一样?

<script type="text/html" id="vendorReportTemplate">
    <tr>
        <th>Substatus</th>

        <!--somehow i need knockout to generate the dynamic headers here-->

        <th>Total</th>
    </tr>
</script>

1 个答案:

答案 0 :(得分:2)

Virtual Elements

<tr>
    <th>Substatus</th>

    <!-- ko foreach: headers -->
    <th data-bind="text: Description"></th>
    <!-- /ko -->
    <th>Total</th>
</tr>

Example