Я работаю с привязкой данных json в теге ul. Это показывает, что произошла ошибка .Здесь есть код:Uncaught TypeError: Object function() не имеет элементов метода
<div id="newdiv" data-bind="visible: selectedSection() === 'ulClass', stopBinding: true ">
<ul id="ulClass" data-bind="template: { name: 'templatesSample', foreach: items}">
<script id="templatesSample" type="text/html">
<li><span data - bind = "text:name" > </span>
</li>
</script>
</ul>
</div>
Вид модели
function names(firstnames) {
this.name = ko.observable(firstnames);
}
var mappedData;
var viewmodel;
$(document).ready(function() {
ko.bindingHandlers.stopBinding = {
init: function() {
return {
controlsDescendantBindings: true
};
}
};
ko.virtualElements.allowedBindings.stopBinding = true;
viewmodel = function() {
items: ko.observableArray([]);
};
var namesOfPeople = '[{"Firstnames":"john"},{"Firstnames":"peter"},{"Firstnames":"mary"}]';
var dataFromServer = ko.utils.parseJson(namesOfPeople);
mappedData = ko.utils.arrayMap(dataFromServer, function (item) {
return new names(item.Firstnames);
});
viewmodel.items(mappedData);
ko.applyBindings(viewmodel, document.getElementById("ulClass"));
});
Он показывает следующее сообщение об ошибке в консоли:
Uncaught TypeError: Object function()
{
items:ko.observableArray([]);
} has no method 'items'
Как я могу исправить проблема? Пожалуйста, предложите решение.
Благодаря