Knockoutjsの使い方を学ぼうとしていますが、問題が発生しています
これはシナリオです:
KnockoutjsviewModelを次のように定義するページがあります
$(document).ready(function () {
var viewModel = {
selectedColumns: ko.observableArray()
};
ko.applyBindings(viewModel);
});
ここで、Ajaxリクエストを使用して、viewModelにバインドするチェックボックスをページに追加します
<input type='checkbox' id='someId' data-bind='attr: { value: 'someValue' }, checked: $root.selectedColumns'>
$(document).ready(function() {
ko.applyBindings(viewModel, document.getElementById(someId));
});
しかし、私はいつも得ます
エラー:ReferenceError:viewModelが定義されていませんソースファイル:http ://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js
すべてが1ページにあり、機能するテストページを作成しました
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Home Page</title>
<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js'></script>
<script src="../../Scripts/knockout-2.1.0.debug.js" type="text/javascript"></script>
<script type="text/javascript">
var count = 0;
var viewModel = {
selectedPeople: ko.observableArray()
};
$(document).ready(function () {
ko.applyBindings(viewModel);
});
function AddAnotherCheckbox(){
var id = "checkbox" + count;
var checknox = count + " <input type='checkbox' id='" + id + "' data-bind='attr: { value: \"" + count + "\" }, checked: $root.selectedPeople'><br/>";
$("#container").append(checknox);
count++;
$(document).ready(function() {
ko.applyBindings(viewModel, document.getElementById(id));
});
}
</script>
</head>
<body>
<input type="button" onclick="AddAnotherCheckbox()"/>
<div id="container"></div>
<br/>
<br/>
<br/>
<span data-bind="text: selectedPeople"></span>
</body>
</html>
しかし、部分ビューを使用して動作させることはできません
何が問題なのか、どうすれば解決できるのか説明してもらえますか?
ありがとう