我正在制作一个简单的 knockout 应用程序,但收到错误“错误:无法解析绑定(bind)。消息:ReferenceError:gpaBasedScolarship 未定义;绑定(bind)值:可见:gpaBasedScolarship”
我的代码是:
$(document).ready(function () {
$.get("/api/Values", function (data) {
console.log(data);
function studentModel(name, number, age, gpa) {
var self = this;
self.studentName = name;
self.studentNumber = number;
self.age = age;
self.gpa = ko.observable(gpa);
self.gpaBasedScolarship = ko.computed(function () {
if (gpa > 3)
return true;
else
return false;
});
}
function studentViewModel() {
var self = this;
//editable data
self.students = ko.observableArray(data);
}
ko.applyBindings(new studentViewModel());
});
});
什么给出了?
PS:我的html是...
<div id="body">
<div data-bind="foreach:students">
<h1>Student</h1>
<div><input type="text" data-bind="value:studentName"/></div>
<div><input type="text" data-bind="value:studentNumber"/></div>
<div><input type="text" data-bind="value:age"/></div>
<div>
<p><input type="text" data-bind="value:gpa"/></p>
<p data-bind="visible: gpaBasedScolarship"><input type="text" data-bind=""/></p>
</div>
</div>
</div>
最佳答案
您还没有告诉 knockout 将您的数据
映射到studentModel
。
var mappedData = ko.utils.arrayMap(data, function(item) {
return new studentModel(...);
});
self.students = ko.obserbableArray(mappedData);
关于javascript - 模型属性未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23981675/