我有以下问题。
我有两个名称相同的模板,构成同一模板的可编辑和只读变体。
我的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>
问题在于,当我进入第二个模板绑定时,knockout将重用第一个模板,因为它具有相同的名称,这将使两个模板只读。
所以有没有办法让淘汰赛下载第二个模板,如果它位于另一个模板的另一个位置,或者没有办法在所有模板上都有唯一的名称。
鉴于当前的逻辑,改变它将需要做很多工作,因此我希望它可以通过绑定而不是重命名来完成。
修改
我正在使用找到here的外部模板引擎。
答案 0 :(得分:0)
似乎只要名称是唯一的,它就会再次获取它(即使这会产生相同的网址。
所以将它们改为
<div data-bind="template: {name: 'readonly/myTemplate', data: $data, templateUrl: '/Templates/' }"></div>
<div data-bind="template: {name: 'editable/myTemplate', data: $data, templateUrl: '/Templates/' }"></div>
让它按照我的希望工作,服务器端没有任何变化:)
感谢@ pax162让我走上了正确的轨道!