在我的Angular(v.1.6.3)应用程序中,我抓住了一个充满股票价格信息的JSON对象。正如您在下面的示例中所看到的,由于其结构,只能使用括号查询(每个键都是包含空格,括号,句点等的字符串):
{ "Time Series (Daily)":
"2017-11-17":
"4. close": "82.4000"
"2017-11-18":
"4. close": "79.2000"
}
在我的控制器中,我已将此JSON对象存储为变量($scope.stocks
),并创建了我认为可以动态更改HTML中显示的数据的方法:
$scope.thisStock = $scope.stocks["Time Series (Daily)"][$scope.currentDate]["4. close"];
$scope.currentDate
根据HTML的表单输入动态更改(即,用户可以滑动窗口小部件以选择显示此股票收盘价的当前日期)。
这里是HTML,它应该动态显示用户选择的任何日期的收盘价格:
{{thisStock | currency}}
我已经测试了$scope.currentDate
(它给了我一个格式正确的日期字符串),我已经测试了静态查询$scope.stocks
(它有效),但是如何动态地进行HTML显示?当我尝试使用当前设置时,它没有使用$scope.currentDate
作为变量 - 它将其视为字符串,从而告诉我我的查询无效。
我觉得我可能会以某种方式从错误的角度接近这个。救命啊!
答案 0 :(得分:1)
您需要关注currentDate
试试这个
$scope.$watch('currentDate', function() {
$scope.thisStock = $scope.stocks["Time Series (Daily)"][$scope.currentDate]["4. close"];
});