我正在尝试在控制器中的绑定范围对象上运行基本数学函数。视图是一系列滑块,需要根据几个不同滑块的用户输入做出反应。我似乎无法获得前端实时更新的值。
这是我对这些值的“计算”。
$scope.mainSlide = {
assets: ($scope.slide1.assets * $scope.slide2.assets / .1),
roa: ($scope.slide1.roa * $scope.slide2.roa / .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