gpt4 book ai didi

javascript - 具有命名模板的 Knockout 3.2 组件?

转载 作者:可可西里 更新时间:2023-11-01 02:36:22 25 4
gpt4 key购买 nike

我正在尝试使用 knockout 3.2.0 中的新组件系统。

目前没有太多文档,但这确实有效。

ko.components.register('price-input', {
template: '<span>price-input</span>'
})

但是 template 绑定(bind)允许您指定一个已经存在于 DOM 中的模板名称,例如:

<script type="text/html" id="price_input">
<span>price-input</span>
</script>

然后你可以这样做:

<div data-bind="template: {name: 'price_input'}"></div>

所以我尝试了这个:

ko.components.register('price-input', {
template: {name: 'price_input'}
})

但它不起作用。有没有一种方法可以将命名模板与新组件一起使用,或者它们必须是内联的或由 AMD 加载的。

谢谢

编辑:在 RP Niemeyer 的回答之后,为了澄清这里是我尝试他的回答的模板:

<script type="text/html" id="ifx_price_input">
<h4>PRICE INPUT <span data-bind="text: value"></span></h4>
</script>

这是组件代码:

ko.components.register('price-input', {
template: {element: 'ifx_price_input'}
})

它确实加载了模板,但将其视为转义字符串。

想法?

最佳答案

您可以传递 element 属性,该属性可以是元素本身,也可以是作为元素 id 的字符串,例如:

template: { element: 'myTmpl' }

关于javascript - 具有命名模板的 Knockout 3.2 组件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24705388/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com