我是使用 Knockout js 的新手,我尝试显示一个列表,但出现以下错误
Posted
技术标签:
【中文标题】我是使用 Knockout js 的新手,我尝试显示一个列表,但出现以下错误【英文标题】:I'm new using Knockout js, I try to show a list and I get the following error 【发布时间】:2020-02-14 17:12:30 【问题描述】:未捕获的引用错误:无法处理绑定“foreach: function()return lista”
---------科迪戈----
$(function ()
ko.applyBindings(modelView);
modelView.viewCourses();
);
var modelView =
Courses: ko.observableArray([]),
viewCourses: function ()
var thisObj = this;
try
$.ajax(
url: '/Home/ListaConcepto',
type: 'GET',
dataType: 'json',
contentType: 'application/json',
success: function (data)
thisObj.lista(data);
,
error: function (err)
alert(err.status + " : " + err.statusText);
);
catch (e)
window.location.href = '/Home/Index/';
;
【问题讨论】:
你的 html 中有这样的绑定吗?淘汰赛 foreach 绑定应该只是<div data-bind="foreach: lista"> ...markup to foreach over...</div>
【参考方案1】:
这个Obj上不存在thisObj.lista(data);
lista
发布的代码问题。需要添加。
$(function ()
ko.applyBindings(modelView);
modelView.viewCourses();
);
var modelView =
Courses: ko.observableArray([]),
viewCourses: function ()
var thisObj = this;
thisObj.lista = ko.observableArray(); // adding this line should make it work.
try
$.ajax(
url: '/Home/ListaConcepto',
type: 'GET',
dataType: 'json',
contentType: 'application/json',
success: function (data)
thisObj.lista(data);
,
error: function (err)
alert(err.status + " : " + err.statusText);
);
catch (e)
window.location.href = '/Home/Index/';
;
【讨论】:
以上是关于我是使用 Knockout js 的新手,我尝试显示一个列表,但出现以下错误的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Knockout.js 将多个 View 绑定到单个 ViewModel
使用关键字“this”和“that”的 knockout.js