Javascript 淘汰js jquery加载
嗨,我正在尝试从jQuery加载动态加载淘汰JSHTML页面,但是 不能对同一元素多次应用绑定。 如何使用jqyuery加载来加载淘汰js页面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
我试图创建一个导航框架,在用户点击链接时将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,不能改变