关于绑定范围对象的Angularjs数学

时间:2013-10-10 16:19:51

标签: javascript angularjs

我正在尝试在控制器中的绑定范围对象上运行基本数学函数。视图是一系列滑块,需要根据几个不同滑块的用户输入做出反应。我似乎无法获得前端实时更新的值。

这是我对这些值的“计算”。

$scope.mainSlide = {
    assets: ($scope.slide1.assets * $scope.slide2.assets / .1),
    roa: ($scope.slide1.roa * $scope.slide2.roa / .1)
};

我有点困惑为什么计算值没有绑定在前端。

任何帮助或方向都将不胜感激!

1 个答案:

答案 0 :(得分:4)

对于$scope上的计算属性,您可以使用$scope.$watch在值更改时重新计算并设置新值(例如,观看slide1和slide2,在更改时设置mainslide的值)。您还可以将mainSlide的计算值设置为函数,它们将自动更新:

在你的情况下:

$scope.mainSlide = {
  assets: function() { return ($scope.slide1.assets * $scope.slide2.assets / .1);},
  roa: function() { return ($scope.slide1.roa * $scope.slide2.roa / .1);}
};

要在您的视图中使用它们:

Assets: {{mainSlide.assets()}}
Roa: {{mainSlide.roa()}}

函数方法的示例Plunker:http://plnkr.co/edit/tFiZ5z?p=preview

$ watch方法的示例Plunker:http://plnkr.co/edit/5iASgJ?p=preview