私はノックアウトを学んでおり、異なる URL に対して複数のサーバー呼び出しを行いたいと考えています。Knockout についてはよくわかりませんが、applyBinding を複数回使用することはできず、使用すべきではないことはわかっているので、次のようにします。
<h2 data-bind="text: data2().user, valueUpdate: 'afterkeydown'">User</h2>
<h2 data-bind="text: data2().id">ID</h2>
<input type="text" data-bind="value: user, valueUpdate: 'afterkeydown'" placeholder="text goes here" />
<div data-bind="foreach: data1()">
<div data-bind="text: name"></div>
<div data-bind="text: count"></div>
</div>
<script src="~/Scripts/knockout-3.1.0.js"></script>
<script>
var viewModel = function () {
var self = this;
self.data1 = $.getJSON('http://localhost:57635/api/Stats/GetAllStats', function (data) {
name: data.Name;
count: data.Count
});
self.data2 = $.getJSON('http://localhost:57635/api/Stats/GetItem', function (data) {
user: ko.observable(data.ItemName);
id: data.Id
});
};
ko.applyBindings(viewModel)
</script>
誰かが正しい方向への一歩や修正を与えることができれば、非常に感謝しています.
受け取ったコンソールのエラーは次のとおりです。
Uncaught TypeError: Unable to process binding "text: function (){return data2().user }"
Message: object is not a function
敬具
ジェームズ