我为AngularJS应用创建价格警报时遇到了一些麻烦。 我希望用户输入警报值和操作员,如果警报只是触发低于或高于x价格。
<ion-radio name="operator" ng-model="statement" value=">">Alarm if price is Higher than {{ alarmValue }} <i class="ion-arrow-graph-up-right"></i></ion-radio>
<ion-radio name="operator" ng-model="statement" value="<">Alarm if price is Lower than {{ alarmValue }} <i class="ion-arrow-graph-down-left"></i></ion-radio>
问题是AngularJS没有将操作员输入视为真实的操作符,而更像是一串文本。
$scope.alarms = AlarmService.list(); $scope.saveAlarm = function(market){
$scope.newalarm = {'currency':market,
'alert' :$scope.alarmValue,
'statement':$scope.statement};
AlarmService.save($scope.newalarm);
console.log($scope.newalarm);
$ scope.statement是运营商。 AlarmValue是触发价格,货币是例如EURUSD
$scope.multicalculation = function(){
if ($scope.newalarm.alert !== 'undefined')
{ //count how many alarms
for(var i = 0; i < $scope.alarms.length; i++)
{ //Count how many markets. Example EURUSD, GBPUSD, NZDUSD.
for(var n = 0; n < $scope.alarmingMarket.length; n++)
{
if ($scope.alarms[i].currency == $scope.alarmingMarket[n] && $scope.m_rate < $scope.alarms[i].alert)
{
//execute something (Push notify)
}
}
}
} };
这会产生类似的结果(如果EURUSD == EURUSD&amp;&amp; liveprice&lt; alarmprice
执行pushnotify。
我检查EURUSD == EURUSD的原因..如果我已经投入,我检查我正在监控的市场是否等于警报。如果监控EURUSD并且有一个GBPUSD警报会给用户带来误报。是的,我用多个警报检查多个市场。因为我是棱角分明的新人,所以有点棘手。
我希望有人/我知道我在多数组中保存的运算符的解决方案,我希望将其显示为运算符而不是真正的字符串。如果有人知道如何简化我的代码,那也不错。