0
我有这样的代码:阿贾克斯+淘汰赛stopBinding标签问题
第1页:
<html>
<head></head>
<body>
<a href="javascript:loadPage()">Test</a>
<div id="content"></div>
</body>
</html>
第2页:
<!-- ko stopBinding: true -->
<div id="testView_content">
<span data-bind="text: mae"></span>
</div>
<!-- /ko -->
相关JS:
var lou;
function loadPage() {
$('#content').html("");
$.ajax({
url: "./page/page2.html"
cache: false,
dataType: "html",
success: function(data) {
fillPage();
}
});
}
function fillPage() {
$('#content').html(data);
$('#content').show("slow");
if (!lou) {
lou = new Lou();
ko.applyBindings(lou, document.getElementById('testView_content'));
}
}
KO型号:
var Lou = function() {
this.mae = ko.observable("test");
};
嗯,它的工作原理是第一次,但如果我再次运行该函数,html将呈现为空(但敲除模型视图isnt,我检查)。任何人有任何想法?也许我做错了使用ajax + stopBinding,也许我的负载设计?我尝试使用stopBinding标签内内容DIV(第1页),而不是创建一个新的第2页,但没有成功=(
我真的新的淘汰赛,所以任何帮助将是惊人的。
谢谢!
我还没有看过ko,但它让我感到你没有将'data'变量传递给fillPage(),所以在fillPage()的第1行中,'data'将等于'undefined' - 除非你省略了一些相关的东西。 – 2014-09-04 04:46:09