1

我是 Oracle Jet 的新手。我想要实现的是在 Oracle Jet Table 中使用 Rest Webservices。

那是我的视图模型

 function CustomerViewModel() {
     var self = this;

    self.DeptCol = ko.observable();
    self.datasource = ko.observable();

    self.serviceURL = '/hr/employees/';
    self.parseDept = function(response) {
        return {empno: response['empno'],
            DepartmentName: response['ename'],
            LocationId: response['job'],
            ManagerId: response['hiredate'],
            mgr: response['mgr'],
            sal: response['sal'],
            comm: response['comm'],
            deptno: response['deptno']};
    };
    self.Department = oj.Model.extend({
        urlRoot: self.serviceURL,
        parse: self.parseDept,
        idAttribute: 'empno'
    });

    self.myDept = new self.Department();
    self.DeptCollection = oj.Collection.extend({
        url: self.serviceURL,
        model: self.myDept
    });

    self.DeptCol(new self.DeptCollection());
}

那是我的看法

<table id="table" summary="Department List" aria-label="Departments Table" 
       data-bind="ojComponent:{  
   component:'ojTable',
   data:datasource,
   columns:[  
      {  
         headerText:'empno',
         field:'empno'
      },
      {  
         headerText:'ename',
         field:'DepartmentName'
      },
      {  
         headerText:'job',
         field:'LocationId'
      },
      {  
         headerText:'hiredate',
         field:'ManagerId'
      },
      {  
         headerText:'mgr',
         field:'mgr'
      },
      {  
         headerText:'sal',
         field:'sal'
      },
      {  
         headerText:'comm',
         field:'comm'
      },
      {  
         headerText:'deptno',
         field:'deptno'
      }
   ]
}"> 
</table>

当我测试我的页面时,它没有显示任何错误并且页面是空白的。有人可以帮忙吗?谢谢

4

2 回答 2

1

请在此处查看以下教程。它有两种情况:

  1. 标准的jQuery。
  2. Oracle Jet 通用模型。

在您提供的示例中,您使用的是 Oracle jet Common 模型,该模型非常适合通过 Rest web 服务进行 CRUD 操作。

我建议你也看看 Standard Jquery 场景,它非常有用且易于使用。

希望有帮助。

于 2017-09-21T11:43:45.107 回答
0

在你的最后,CustomerViewModel你可能会错过实际设置datasourceobservable:

self.datasource(new oj.CollectionTableDataSource(self.DeptCol()));
于 2017-09-01T08:37:40.320 回答