2017-11-20 3 views
2

私のAngular(1.6.3)アプリでは、私は株価情報でいっぱいのJSONオブジェクトをつかんだ。 、私は」私のコントローラでJSONオブジェクトをAngularで動的にクエリするにはどうすればよいですか?

{ "Time Series (Daily)": 
    "2017-11-17": 
     "4. close": "82.4000" 
    "2017-11-18": 
     "4. close": "79.2000" 
} 

:あなたは下の例でわかるように、その構造のそれが唯一のブラケットを使用して照会することができますので、(各キー等のスペース、括弧、ピリオドを含む文字列です)

$scope.thisStock = $scope.stocks["Time Series (Daily)"][$scope.currentDate]["4. close"]; 

$scope.currentDateを動的に変更し、HTMLのフォーム入力に基づいて:変数($scope.stocks)として、このJSONオブジェクトを格納し、私は動的に私のHTMLに表示されているデータを変更する方法だろうと思ったものを作成していまし(すなわち、ユーザはウィジェットをスライドさせて、この株式の終値を表示する現在の日付を選択することができる)。ここで

が動的にユーザーが選択したものは何でも日付の株価終値表示されるべきHTML、です:私は $scope.currentDateテストしている

{{thisStock | currency}} 

を、私(それは私適切にフォーマットされた日付文字列を与えます) $scope.stocksを静的に照会してテストしましたが(動作します)、どのようにしてHTML表示を動的に行うことができますか?現在の設定で試してみると、$scope.currentDateが変数として使用されていません。文字列として表示され、クエリが無効であることがわかります。

何とか私が間違った角度からこれに近づいているように感じます。助けて!

+0

を試してみてくださいcurrentDate

の変化を監視する必要があります。 :) – vader

答えて

1

あなたがあなた自身を将来のユーザーのための答えとしてマークを行うか、その答えを追加してください答えを見つけた場合、この

$scope.$watch('currentDate', function() { 
    $scope.thisStock = $scope.stocks["Time Series (Daily)"][$scope.currentDate]["4. close"]; 
}); 
+0

優秀、これは動作するようです! –