KnockoutJs v2.3.0:“无法多次将绑定应用于同一个元素”
问题:
在现有的应用程序中,我添加了一个新function,该function使用knockout来显示网格和一些其他信息。 我在开始时加载一些数据并准备使用ajax加载其他数据的订阅,在Razor视图中创建viewmodel以注入服务器端变量,然后绑定它(如果我传递html节点没关系,我有同样的问题)。 在页面加载时,控制台中出现“无法多次对同一元素应用绑定”错误,并且使用if
, with
或template
绑定的所有html元素都为空。
在整个项目中唯一出现的“applyBindings”在我看来,在淘汰源中。 调试显示它被调用两次,两次都来自$(document).ready
当我从代码中删除应用绑定,并稍后使用控制台手动调用它时,它可以工作。
答案已经在SO: jQuery $(document).ready()触发两次
应用程序的主题是移动/操作html元素,而使用viewmodel初始化的标记位于稍后操作的相同html视图中。 移动到单独的部分,在头部解决问题中呈现。