Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Templates 如何在Knockout js中调用applyBindings后动态添加模板_Templates_Knockout.js - Fatal编程技术网

Templates 如何在Knockout js中调用applyBindings后动态添加模板

Templates 如何在Knockout js中调用applyBindings后动态添加模板,templates,knockout.js,Templates,Knockout.js,我正在我的项目中使用knockoutjs。我想在应用所有绑定后包含一个模板 例如: 参与者 插入 点击我 与会者如下: 学分: 函数MyViewModel{ this.buyer={name:'Franklin',信用:250}; this.seller={name:'Mario',信用:5800}; this.killer={name:'Dj',积分:10000}; } ko.applybindingsnewmyviewmodel; 函数加载项运行时 { $.ajax{ 数据类型:'scrip

我正在我的项目中使用knockoutjs。我想在应用所有绑定后包含一个模板

例如:

参与者 插入 点击我 与会者如下: 学分:

函数MyViewModel{ this.buyer={name:'Franklin',信用:250}; this.seller={name:'Mario',信用:5800}; this.killer={name:'Dj',积分:10000}; } ko.applybindingsnewmyviewmodel; 函数加载项运行时 { $.ajax{ 数据类型:'script', url:“/ab.html”, 错误:functionjsc{ var temp=document.getElementByIdperson-template; temp.innerHTML=jsc.responseText; ko.cleanNodetemp; ko.应用绑定MYVIEWMODEL,temp; }, 成功:功能{ } }; } 我想在上面的块中插入一个html。但当我在其中注入html时,并没有发生任何变化。我在谷歌上搜索了很多,发现我们需要首先使用ko.cleanNodeviewModel解除绑定,然后再次使用ko.applyBindingsviewmodel应用绑定,但仍然没有改变

这就是被注入的html

学分:

这就是注入代码后的情况

学分:


尝试对新添加的html使用ko.applybindingstode或ko.applybindingstoode

您是在创建一个全新的块,还是在更改您第一次调用applyBindings时已经存在的块?我最初尝试创建整个脚本块,但后来我尝试只注入htmlI。恐怕我帮不了您,因为我最近遇到了同样的问题,无法解决,但我希望其他人能够解决。当您尝试使用动态添加的模板时,是否会从Knockout中获得任何Javascript错误?您可以在浏览器的开发者控制台中进行检查吗?如果您将示例代码扩展到SSCE中,这会有所帮助。目前它真的相当广泛和模糊,我担心如果我投资创造一个答案,会弹出一个哦,但在我的情况下,我不能这样做,因为。。。回答更多的细节肯定会有帮助。您可以向DOM添加新模板,并更改用于渲染要更改的项目的模板,而不是更改已应用的模板?您可以通过向模板名称选择器提供一个可观察的名称来轻松实现这一点。我在上写了一个快速示例,它创建了一个新模板,并在3秒钟后更改了使用的模板。动态选择模板绑定的模板在的文档中提到。