【发布时间】:2013-10-25 11:16:45
【问题描述】:
我有以下问题。
我有两个同名模板,它们构成同一模板的可编辑和只读变体。
我的 html 中的两个不同位置(动态创建,但正是这种情况给我带来了问题)我使用模板绑定,并且我想绑定到其中的每一个。
第一个将如下所示:
<div data-bind="template: {name: 'myTemplate', data: $data, templateUrl: '/Templates/readonly/' }"></div>
第二个看起来像这样
<div data-bind="template: {name: 'myTemplate', data: $data, templateUrl: '/Templates/editable/' }"></div>
问题是,当我进行第二个模板绑定时,knout 将重用第一个模板,因为它具有相同的名称,这将使两个模板都成为只读的。
如果第二个模板位于另一个位置,或者没有办法在所有模板上使用唯一名称,那么有什么方法可以让淘汰赛下载第二个模板。
鉴于目前的逻辑,要改变它会做很多工作,所以我希望可以通过绑定而不是重命名来完成。
编辑
我正在使用here 找到的外部模板引擎。
【问题讨论】:
-
@pax162 - 是的,我是。也应该在问题中写下这一点。马上更新。
-
如果你可以改变你的 viewModel 并去掉 myTemplate 周围的引号,一个快速的解决方法是用一个返回不同名称的函数来实际替换 myTemplate。 knockoutjs.com/documentation/…
标签: javascript templates knockout.js