Javascript KO组件-在组件绑定中持久化DOM元素

Javascript KO组件-在组件绑定中持久化DOM元素,javascript,knockout.js,Javascript,Knockout.js,我第一次尝试用KO的3.2版本设计一个组件 目前,我正在尝试创建一个网格,并希望向程序员公开由组件生成的结果表元素的head和body部分的相关标记 下面是一个例子,说明我在所需的句法风格方面正在努力实现的目标: <pht-dataGrid params="{ model: dataGridModel, header: 'data-header', lineItem: 'data-line-

我第一次尝试用KO的3.2版本设计一个组件

目前,我正在尝试创建一个网格,并希望向程序员公开由组件生成的结果表元素的head和body部分的相关标记

下面是一个例子,说明我在所需的句法风格方面正在努力实现的目标:

<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>

第1栏
第2栏
某种类型
这种方法的问题在于,KO在启动渲染过程时,只是简单地将
phtdatagrid
组件去掉


问题:是否有任何方法可以避开此行为以达到我想要的效果?

如您所述,不支持此操作。可以将脚本块移动到组件块之外

<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>

第1栏
第2栏
某种类型
目前,关于实现这一点的可能方法存在一些未解决的问题:


答案很好,尽管答案是它不受支持。爱的问题链接!添加了我自己的评论,希望能够支持这项事业!谢谢