Javascript 角度剑道格网,k-rebind不深入观察';s选项对象

Javascript 角度剑道格网,k-rebind不深入观察';s选项对象,javascript,angularjs,kendo-ui,angular-kendo,Javascript,Angularjs,Kendo Ui,Angular Kendo,我有一个角度剑道网格,引用它的选项对象,带有k-options和k-rebind <kendo-grid k-data-source="data" k-options="options" k-rebind="options"></kendo-grid> 当我在引用的选项对象中更改列标题时,网格不会注意到更改,因此不会在下一个摘要中触发k-rebind 我怎样才能让它深入观察选项对象并注意到这些重要的变化 工作 如果在控制器中更改了范围变量,则更改后的值不会反映在使用

我有一个角度剑道网格,引用它的选项对象,带有
k-options
k-rebind

<kendo-grid k-data-source="data" k-options="options" k-rebind="options"></kendo-grid>

当我在引用的选项对象中更改列标题时,网格不会注意到更改,因此不会在下一个摘要中触发
k-rebind

我怎样才能让它深入观察选项对象并注意到这些重要的变化

工作

如果在控制器中更改了范围变量,则更改后的值不会反映在使用它的地方。必须保持一只手表,并在里面执行相应的逻辑

而对于你的问题,你不需要守望任何一只手表。下面的代码行应该可以解决这个问题。代码笔是


加上一点工作解决方案,但我不太理解你的解释。。。你能澄清一下吗?哦,对不起!。通常,如果范围变量发生变化,角度摘要循环将仅在视图中反映该值,但在控制器中,它仅检查变量是否有任何要执行的监视。。。因此,在您的例子中:当a和b发生更改时,更改的值实际上不会直接反映到列中:您可以通过两种方式更新这些列,第一种是我在回答中提到的方式,第二种是$scope。$watch('a',function(){})您可以通过两种方式更新这些列,第一个是我在回答中提到的方式,第二个是$scope.changeColTitles=function(){$scope.a++;$scope.b++;}$scope.$watch('a',function(){$scope.options.columns[0]。title='col'+$scope.a;})$scope.$watch('b',function(){$scope.options.columns[0]。我希望我有点清楚!您应该编辑您的答案,而不是将代码片段放入注释中。。。例如,在电话上它是难以辨认的。
 $scope.changeColTitles = function(){
    $scope.a++;
    $scope.b++;
  }
$scope.changeColTitles = function(){
    $scope.options.columns[0].title = 'col ' + ++$scope.a;
    $scope.options.columns[1].title =  'col ' + ++$scope.b;
  }