AngularJS和Handsontable:如何考虑datacolumn元素之间的数据绑定

sco*_*inh 6 jquery angularjs handsontable

我正在尝试使用AngularJS重写JS/jQuery SPA.SPA是使用惊人的Handsontable的项目编辑网格.我很高兴看到有一个AngularJS版本正在开发中,并且在大多数情况下,它的工作方式与预期一致.

但是,我很难搞清楚如何在AngularJS中的jQuery中做一些事情.网格具有(其中)3列,其中一列依赖于另外两列.三列是成本,售价和保证金(即(1 - (成本/价格))*100).我可以在控制器中进行数学运算并将边距传递到初始加载的$ scope.items变量中,但是当您更改成本或价格列时,它显然不会更新.它似乎是进行双向数据绑定的理想场所,但我无法弄清楚如何将margin的datacolumn值绑定到另外两行的值.我觉得有一种明显的方法可以做到这一点,但由于我是AngularJS的新手,我想我可能会把它扔给社区.

提前致谢!

编辑:

因此,在讨论了一些答案后,我想稍微改进一下我的问题,以了解问题的核心.我有一个REST API,用于提供JSON文档,其中包含来自在线销售点服务的项目数组.这是一个带有虚拟数据的示例:

{ '@attributes': {'count':10}, 'Item': [
  { 'customSku':'sampleItem1'
  , 'description':'Sample Item, first'
  , 'defaultCost':'10.00'
  , 'Prices': {'ItemPrice':[
      {'amount':'17.99', 'useType':'Default'}
    , {'amount':'19.99', 'useType':'MSRP'}
    ]}
  }
, { 'customSku':'sampleItem2'
  , 'description':'Item, Sample, 2nd'
  , 'defaultCost':'20.00'
  , 'Prices': {'ItemPrice':[
      {'amount':'29.99', 'useType':'Default'}
    , {'amount':'39.99', 'useType':'MSRP'}
    ]}
  }
]}
Run Code Online (Sandbox Code Playgroud)

我不是在开玩笑说数据的结构是这样的,它完全是.无论如何.

现在,我在我的控制器像这样通过这个来的观点:$scope.items = JSON.parse(request.responseText);.如何将功能传递$scope.getMargin = function() { return (1 - (cost / price)) * 100 }给视图:成本和价格的范围是正确的项目?我觉得我真的很接近它,但我还没有到达那里.感谢回答者到目前为止!

编辑2:

根据要求,这里有采石者!

Nik*_*kos 0

您需要为您的 $scope 变量之一添加监视:请参阅

如何在 AngularJS 中使用 $scope.$watch 和 $scope.$apply?

如果使用角度 ngRepeat 渲染行,则每个项目都将具有正确的索引范围,因为为行中的每个范围项目创建了观察者 + 1 为整个 ngRepeat

http://docs.angularjs.org/api/ng.directive:ngRepeat