如何更新或刷新ViewModel数据,然后更新View。使用淘汰赛js

时间:2013-10-15 14:19:13

标签: jquery knockout.js

我有一个页面上有树视图控件点击树视图节点我试图更改视图模型然后查看但它没有更新视图。

代码

 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);
}

由于

1 个答案:

答案 0 :(得分:0)

您的第一行会导致错误,因为EmpViewModel()仅在您的就绪函数中定义,但您尝试将其称为全局。因此emp将被取消定义,OnTreeviewNodeSelect()中的作业也会导致错误。

此外,您尝试至少拨打ko.applyBindings两次;这将导致Knockout错误。