Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.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
Javascript 对KnockoutJS脚本的多次引用违反了标准行为_Javascript_Jquery_Ajax_Knockout.js - Fatal编程技术网

Javascript 对KnockoutJS脚本的多次引用违反了标准行为

Javascript 对KnockoutJS脚本的多次引用违反了标准行为,javascript,jquery,ajax,knockout.js,Javascript,Jquery,Ajax,Knockout.js,比如说, 我有一个KO已经注册的页面,有一个viewmodel,具有可观察属性“someProperty” 我通过ko.isObservable(viewmodel.someProperty)检查“someProperty”是否是可观察属性——它返回“true” 我调用ajax来获取一些html标记,其中KO也是注册的 现在,如果您检查ko.isObservable(viewmodel.someProperty),它将返回false 此外,手动添加的所有KO扩展也将丢失。它看起来像jQuery(

比如说,

  • 我有一个KO已经注册的页面,有一个viewmodel,具有可观察属性“someProperty”
  • 我通过ko.isObservable(viewmodel.someProperty)检查“someProperty”是否是可观察属性——它返回“true”
  • 我调用ajax来获取一些html标记,其中KO也是注册的
  • 现在,如果您检查ko.isObservable(viewmodel.someProperty),它将返回false 此外,手动添加的所有KO扩展也将丢失。它看起来像jQuery()中的bug(或特性)


    您可以通过在包含加载的ajax之前保存
    ko
    全局变量的副本,然后恢复它来解决这个问题

    var savedKo = window.ko;
    .... // do the ajax thing
    window.ko = savedKo;
    

    谢谢你的回答。很明显,我已经考虑过了,但这有点像变通办法。但不管怎样,引用的脚本库是正常行为吗?我认为这是正常行为。
    var savedKo = window.ko;
    .... // do the ajax thing
    window.ko = savedKo;