アプリケーションに次の JavaScript で定義されたページがあり、その中でノックアウトを使用しようとしています。
var dashboard = new DashboardPage();
function DashboardPage() {
var page = this;
page.open = function () {
var bindingString = '{ name: "dashboard-template" }';
$('#main div').html("").attr("data-bind", bindingString);
ko.applyBindings(new page.ViewModel(), $("#main")[0]);
};
page.ViewModel = function () {
var self = this;
self.content = ko.observable("SOME WORDS");
};
//Other code removed.
これはテンプレートです:
<script type="text/html" id="dashboard-template">
<div id="wrapper-block2" class="wrapper-block">
<div id="content-block2" class="content-block">
Hello
</div>
</div>
<div id="wrapper-block3" class="wrapper-block">
<div id="content-block3" class="content-block">
World
</div>
</div>
</script>
dashboard.open() は確実に呼び出されていますが、 #main div が入力されておらず、エラーはありません。
誰かが私が間違っていることを指摘できますか? ko は何もバインドしようとしていないというエラーはないと思います。