我有一个页面上有树视图控件点击树视图节点我试图更改视图模型然后查看但它没有更新视图。
代码
var emp = new EmpViewModel();
$(document).ready(function () {
var EmpViewModel = function () {
var self = this;
self.EmpNo = ko.observable("0");
self.EmpName = ko.observable("");
self.Salary = ko.observable("");
self.DeptName = ko.observable("");
self.Designation = ko.observable("");
var EmpData = {
EmpNo: self.EmpNo,
EmpName: self.EmpName,
Salary: self.Salary,
DeptName: self.DeptName,
Designation: self.Designation
};
self.Employees = ko.observableArray([]);
ko.applyBindings(new EmpViewModel());
});
function OnTreeviewNodeSelect(e) {
emp.EmpNo(e.EmpNo),
emp.EmpName(e.EmpName),
emp.Salary(e.Salary),
emp.DeptName(e.DeptName),
emp.Designation(e.Designation)
ko.applyBindings(emp);
}
由于
答案 0 :(得分:0)
您的第一行会导致错误,因为EmpViewModel()
仅在您的就绪函数中定义,但您尝试将其称为全局。因此emp
将被取消定义,OnTreeviewNodeSelect()
中的作业也会导致错误。
此外,您尝试至少拨打ko.applyBindings
两次;这将导致Knockout错误。