Javascript 敲除js脚本标记不应用数据绑定

Javascript 敲除js脚本标记不应用数据绑定,javascript,html,knockout.js,Javascript,Html,Knockout.js,我对敲除js相当陌生,官方网站上维护的文档并没有提供完整的html文件。所以我最终写下了自己的脚本标签。当我创建html标记时,它没有按预期工作。但是,只要改变脚本标记的位置,它就可以工作 我的问题是,当脚本标记放在顶部时,在html主体元素中调用该函数之前,该函数是可用的。但它不绑定数据,而将脚本放在底部只是解决了这个问题。如何通过重新排列脚本标记的位置来实现这一点?有人能提供物品必须提供的顺序吗。我知道很多人更喜欢在结尾使用脚本,这样DOM就完全准备好了,并且出于速度考虑 我的代码如下: 不

我对敲除js相当陌生,官方网站上维护的文档并没有提供完整的html文件。所以我最终写下了自己的脚本标签。当我创建html标记时,它没有按预期工作。但是,只要改变脚本标记的位置,它就可以工作

我的问题是,当脚本标记放在顶部时,在html主体元素中调用该函数之前,该函数是可用的。但它不绑定数据,而将脚本放在底部只是解决了这个问题。如何通过重新排列脚本标记的位置来实现这一点?有人能提供物品必须提供的顺序吗。我知道很多人更喜欢在结尾使用脚本,这样DOM就完全准备好了,并且出于速度考虑

我的代码如下:

不绑定数据。 var myViewModel={personName:'Bob',人物:31}; ko.applyBindingsmyViewModel; 名字是 调用ko.applyBindings时,将在文档中搜索任何数据绑定标记并应用适当的绑定。因此,必须在调用ko.applyBindings之前加载文档和任何数据绑定标记,否则knockout将找不到任何要绑定的对象

您有两个可行的选项:

将applyBindings移动到文档底部,在调用它时,任何数据绑定都已就位。 在回调函数中包装applyBindings,以便可以在任何地方定义它,但将等待执行,直到文档加载完成。为此,您可以使用jQuery的$document.ready,或者如果您没有jQuery,请参阅其他等效选项 调用ko.applyBindings时,将在文档中搜索任何数据绑定标记并应用适当的绑定。因此,必须在调用ko.applyBindings之前加载文档和任何数据绑定标记,否则knockout将找不到任何要绑定的对象

您有两个可行的选项:

将applyBindings移动到文档底部,在调用它时,任何数据绑定都已就位。 在回调函数中包装applyBindings,以便可以在任何地方定义它,但将等待执行,直到文档加载完成。为此,您可以使用jQuery的$document.ready,或者如果您没有jQuery,请参阅其他等效选项