2017-01-30 10 views
-1

私はすでに最初の角型アプリを使っています。関数を呼び出すときにエラーが発生しました。ここで は私のJSONの抜粋です:角は変数を見つけることができません:data

{ 

    "variantA": { 
    "sumInsuredThirty": [ 
     { 
     "dayFrom": 1, 
     "dayTo": 3, 
     "tarif": 2 
     }, ... 

私は経由でそれを持っている:今

$http.get("/CalculatorMed/JSON/rates.json/").then(function(data) { 
     $scope.rates = data.data; 
     }); 

、私はtarifを取得しようとしている:

$scope.getBaseTarif = function() { 
     var baseTarif = 0; 
     if (data.pickedOptions.variantA === true && data.pickedOptions.sumInsured === 30000) { 
      for (var i = 0; i < rates.variantA.sumInsuredThirty.lenght; i++) { 
       if (data.pickedOptions.days >= rates.variantA.sumInsuredThirty[ i ].dayFrom && data.pickedOptions.days <= rates.variantA.sumInsuredThirty[ i ].dayTo) { 
        baseTarif = rates.variantA.sumInsuredThirty[ i ].tarif; 
        return baseTarif; 
       } 
      } 
     } 
     }; 

そしてIエラーがあります:

エラー:変数が見つかりません:データ getBaseTarif @http://localhost:63342/CalculatorMed/controller/calculator.js:34:17 fn

事前に感謝します!

+0

氏は述べています:**データは何である**それは '$のscope.rates'すべきではありませんか? – Mistalis

+0

.length綴りが正しくない – MMK

+0

もその$ scope.rates = data; – MMK

答えて

1

データが外部にアクセスすることはできません、それは$ scope.ratesする必要があり、あなたのエラーとして

if ($scope.rates.pickedOptions.variantA === true && $scope.rates.pickedOptions.sumInsured === 30000) { 
      for (var i = 0; i < rates.variantA.sumInsuredThirty.length; i++) { 
       if ($scope.rates.pickedOptions.days >= rates.variantA.sumInsuredThirty[i].dayFrom && $scope.rates.pickedOptions.days <= rates.variantA.sumInsuredThirty[i].dayTo) { 
        baseTarif = rates.variantA.sumInsuredThirty[i].tarif; 
        return baseTarif; 
       } 
      } 
     } 
+0

ダウン投票者は誰ですか?これは私が思った正解です。下の有権者、答えを改善するためにここにあなたの理由を記入してください。 –

+0

@Sajeetharan、ありがとう!私はJS/AngularJSを自分で学習しています...エラーは消えましたが、私の関数は必要な項目を返しました。 –

+0

@ P.Shustenkoデバッグしてチェックする必要があるかもしれません – Sajeetharan

関連する問題