我是angularJS的新手,我在使用某些计算从输入更新图表数据时遇到了一些问题。我有一个主html文件和一个app.js文件与我的控制器。
我期待:
示例:查看下面提供的代码段。我想让用户输入一个数字值,进行某种类型的计算,并且总替换ser.data [4] - 类似于(userInput * 5)。因此,如果用户输入5,ser.data [4]将为25,如果输入4,则ser.data [4]将为20,等等。
在一些计算之后,我能够通过向特定索引添加一个函数来返回一个值 - 该函数仅在首次加载页面时才有效。由于输入ng模型与索引相关联,因此当输入发生变化时,它只会覆盖函数并且不再使用它。
很抱歉,如果我的解释工作很差 - 让我知道,我会尽力澄清。
提前感谢您的帮助!
- MOE
(在我的html文件中输入)
<div class="row-fluid" ng-repeat="ser in chartSeries" >
<div class="span12 well">
<div class="row-fluid">Title <input type="number" ng-model="ser.data[4]" ></div>
</div>
</div>
(来自我的app.js文件的代码)
'use strict';
var myapp = angular.module('myapp', ["highcharts-ng"]);
myapp.controller('myctrl', function ($scope) {
$scope.chartSeries = [
{"name": "Compounded Annually", data: [1, 2, 3, 4, 5]},
];
问题更新
感谢您的帮助!对我来说还是有点模糊。我会尝试通过添加一个模型场景来更好地解释(我理解,如果我的初始问题没有意义。)我正在构建一个储蓄计算,但我嘲笑了一些更苗条的东西。
pic中的图表将从chartSeries数据中提取数据。假设用户输入10作为每日租金,30作为租赁日数,我会尝试更新“租车”数据然后反映300(或每日租金乘以租赁天数。)所以例如,让我们说“租车”数据从app.js中我的chartSeries数据数组中的第一个索引中提取数据。
答案 0 :(得分:0)
您需要观看输入模型:
$scope.$watch('chartSeries[0].data', function (newVal, oldVal) {
// You can do a calculation with the new value.
console.log(newVal[4]); // 5
}, true);
true
意味着深入观察。如果chartSeries
数组有多个值,您还可以观看整个系列:$scope.$watch('chartSeries', fn);
我希望你明白这一点。如果这个答案方向错误,请更新你的问题,因为我不完全明白你想做什么。