我第一次尝试使用KO 3.2版本设计一个组件。
目前,我正在尝试创建一个网格,并且确实希望将相关标记公开给程序员,以获得由该组件生成的结果表元素的头部和主体部分。
以下是我在期望的语法风格方面尝试实现的示例:
<pht-dataGrid params="{ model: dataGridModel,
header: 'data-header',
lineItem: 'data-line-item',
itemContent: 'data-item-content' }">
<script type="text/html" id="data-header">
<th class="AlignLeft"><h3>Column 1</h3></th>
<th class="AlignLeft"><h3>Column 2</h3></th>
</script>
<script type="text/html" id="data-line-item">
<td><span data-bind="text: Name"></span></td>
<td>Some Type</td>
</script>
</pht-datagrid>
这种方法的问题在于KO在启动渲染过程时会简单地放出pht-dataGrid
组件。
问题:无论如何都要回避这种行为以达到我之后的效果吗?
答案 0 :(得分:1)
如您所述,这不受支持。您可以将脚本块移动到组件块之外。
<pht-dataGrid params="{ model: dataGridModel,
header: 'data-header',
lineItem: 'data-line-item',
itemContent: 'data-item-content' }">
</pht-datagrid>
<script type="text/html" id="data-header">
<th class="AlignLeft"><h3>Column 1</h3></th>
<th class="AlignLeft"><h3>Column 2</h3></th>
</script>
<script type="text/html" id="data-line-item">
<td><span data-bind="text: Name"></span></td>
<td>Some Type</td>
</script>
目前有一些关于可能的方法的公开问题: