javascript - 绑定(bind)范围对象的 Angularjs 数学

标签 javascript angularjs

我正在尝试对我的 Controller 中的绑定(bind)范围对象运行基本数学函数。该 View 是一系列 slider ,需要根据几个不同 slider 的用户输入使用react。我似乎无法在前端获取实时更新的值。

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

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

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

如有任何帮助或指导,我们将不胜感激!

最佳答案

对于 $scope 上的计算属性,您可以使用 $scope.$watch 在值更改时重新计算并设置新值(例如 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);}
};

在您的 View 中使用它们:

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

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

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

关于javascript - 绑定(bind)范围对象的 Angularjs 数学,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19301128/

相关文章:

javascript - 为什么使用 Object.create() 和 console.log() 时不显示属性?

javascript - 通过 Struts 2 操作类从数据库填充下拉列表(使用 jtable)

angularjs - 如何在 Angularjs 的单个模块中创建多个自定义过滤器

javascript - Firefox 在 ajax 调用 2 分钟后超时

javascript - 如何取回丑化的js

javascript - 在后端生成由 Javascript (VueJS) 生成的等效 HTML

javascript - 启动带参数的函数

angularjs - 使用 Grunt 时删除包 "was not injected in your file"的警告?

angularjs - AngularJS 中复杂对象的分组

javascript - anguarl1 ng-repeat 在父项 ng-init 中异步返回的项目上