使用ajax data-fetch作为dataSource的数据源的kendo angular k-ng-delay

时间:2014-10-15 17:27:19

标签: ajax angularjs kendo-ui

我想通过短语" gridOptions变量可用"来理解here的含义是什么意思。随着"变得可用"是否意味着kendo UI控件正在观察或观察gridOptions变量以检测更改?

另外,我不明白为什么$ http成功处理程序会根据 result.data 创建一个新的dataSource对象,然后在gridOptions中对象我们有dataSource: data。我希望看到dataSource: dataSource

UI小部件&ng-delay-configuration对象的dataSource属性是否需要分配原始数据或kendo dataSource对象?

// in controller
$http({ method: "GET", url: "customers.json" })
  .success(function(result){
    var dataSource = new kendo.data.DataSource({
      data: result.data
    });
    $scope.gridOptions = {
      dataSource: data,
      columns: result.columns,
      ...
    };
  });

<!-- in HTML: -->
<div kendo-grid k-options="gridOptions" k-ng-delay="gridOptions"></div>

1 个答案:

答案 0 :(得分:2)

在此背景下,#34;变得可用&#34;表示在角度范围内定义时,将创建窗口小部件。要在属性更改时重新绑定窗口小部件,应在要更新的窗口小部件上使用k-rebind属性。

$http成功处理程序在创建新的kendo.data.DataSource时是正确的,但它应该有以下代码(如您所建议的那样):

$http({ method: "GET", url: "customers.json" })
  .success(function(result){
    var dataSource = new kendo.data.DataSource({
      data: result.data
    });
    $scope.gridOptions = {
      dataSource: dataSource,
      columns: result.columns,
      ...
    };
  });

此处,kendo-grid也应用了k-rebind属性,当gridOptions项更改时,它将刷新网格。

 <div kendo-grid k-options="gridOptions" k-ng-delay="gridOptions" k-rebind="gridOptions"></div>