Javascript 淘汰js jquery加载

Javascript 淘汰js jquery加载,javascript,jquery,html,knockout.js,Javascript,Jquery,Html,Knockout.js,嗨,我正在尝试从jQuery加载动态加载淘汰JSHTML页面,但是 不能对同一元素多次应用绑定。 如何使用jqyuery加载来加载淘汰js页面 我试图创建一个导航框架,在用户点击链接时将url页面(Views/home.html或Views/login.html)加载到其中 所以我无法在第一次加载时加载所有knocokout viewmodel 我正在尝试创建导航模型,以便只加载/刷新页面的主体,而不是整个页面 比如说 <ul class="nav navbar-nav" id="nav

嗨,我正在尝试从jQuery加载动态加载淘汰JSHTML页面,但是

不能对同一元素多次应用绑定。

如何使用jqyuery加载来加载淘汰js页面


我试图创建一个导航框架,在用户点击链接时将url页面(Views/home.html或Views/login.html)加载到其中

所以我无法在第一次加载时加载所有knocokout viewmodel

我正在尝试创建导航模型,以便只加载/刷新页面的主体,而不是整个页面

比如说

 <ul class="nav navbar-nav" id="nav">
            <li>
                <a href="Views/home.html" class="active">Home</a>
            </li>
            <li>
                <a href="Views/login.html">Login</a>
            </li>
            <li>
                <a href="Views/Contactus.html">Contactus</a>
            </li>

        </ul>

<div id="body"></div>
如果登录,请单击

  $("#body").load("Views/login.html");
Home.html

 var homeViewModel= function() {
            this.firstName = ko.observable();
            this.lastName = ko.observable();          
        };

        ko.applyBindings(new homeViewModel());
  var loginViewModel= function () {
        this.username = ko.observable("test");
    };
    ko.applyBindings(new loginViewModel())
Login.html

 var homeViewModel= function() {
            this.firstName = ko.observable();
            this.lastName = ko.observable();          
        };

        ko.applyBindings(new homeViewModel());
  var loginViewModel= function () {
        this.username = ko.observable("test");
    };
    ko.applyBindings(new loginViewModel())

我已附加和删除节点,但依赖项始终为viewmodel的名称必须为viewmodel

  ko.cleanNode($("#body")[0]);
                $("#body").load(url, function() {
                    ko.applyBindings(new viewModel(), $("#body")[0]);
                });
您可能想看看,它扩展了knockout.js,用于页面历史记录和部分加载

在主页中加载所有javascript。 保持部分(Views/home.html、Views/login.html)只包含带有绑定声明的html。
切换partial时不需要显式调用applyBindings,Pager.js会为您这样做(对上一个partial上的所有绑定进行适当清理).

可能的重复项-您可以将元素作为第二个参数传入,但不是重复项。我尝试的是创建一个导航模型--在用户单击链接时加载。所以我不能在fist load上加载所有knocokout viewmodel阅读我评论的第二部分-你需要将第二个参数传递给ko.applyBindings,就像他们在那个问题中所说的那样,它只将绑定应用于该元素,而不应用于根。嗨,PW Kad,我已经看到了这一点并尝试了,但问题是对我来说div id始终是body,不能改变