2017-07-06 14 views
0

2つのドロップダウン選択ボックスで一度選択したスコープに表示されるオブジェクトの配列を持っています。AngularスコープのID値を取得してステートメントで使用

オブジェクト

{ 
    "name": "tim", 
      "format": [ 
       {"Fname": "a", "id": "1"}, 
       {"Fname": "b", "id": "2"}, 
       {"Fname": "c", "id": "3"} 
      ] 
     }, 

例と私は

$scope.productTypeChange = function() { 
     $scope.formats = $scope.productsandformats.find(ps => ps.name == $scope.formData.ProductType.name) 
} 

を使用してスコープに送信し、私は

{"ProductType":{"name":"tim"},"formatType":{"Fname":"a","id":"1"}} 

ように私のスコープにビールを出す私は、持っていたいですスコープ内に印刷されたID値に基づいたif文は、これまでID値を取得しようとしましたが、動作しないようですIDを取得する正しい方法>

$scope.setCanvasSize = function() { 
    divHeight = $('.image-builder').height(); 
    if ($scope.formData.ProductType.name.id = 1) { 
     // Aratio = 0.67; 
     Aratio = 2; 
    } else if ($scope.formData.ProductType.name.id = 2) { 
     Aratio = 0.56; 
    } else if ($scope.formData.ProductType.name.id = 3) { 
     divHeight = divHeight/1.5; 
     Aratio = 2; 
    } else if ($scope.formData.ProductType.name.id = 4) { 
     Aratio = 0.67; 
    } else { 
     Aratio = 1 
    } 
    canvas.setHeight(divHeight - 15); 
    canvas.setWidth((divHeight - 15) * Aratio); 
    canvas.renderAll(); 
    $scope.position(); 
}; 
+0

問題は何ですか? – Vivz

+0

あなたと他の人のために質問を更新する – Beep

+0

あなたはIDを取得したいですか? – Vivz

答えて

0

このオブジェクトは間違って使用されています。

$scope.formats={"ProductType":{"name":"tim"},"formatType":{"Fname":"a","id":"1"}}; 

が続いてIDを取得する場合、あなたはまた、if文で正しく確認する必要があり、この

$scope.formats.formatType.id 

のようなオブジェクトにアクセスする必要があります。あなたの質問ではなく、比較の代わりに値を割り当てています。だから、それはこのようにする必要があります:

if($scope.formats.formatType.id=="1"){ 
//do calculations 
} 
+0

If if if if($ scope.formats.formatType.id = 1){何か? – Beep

+0

あなたはur質問から見られるようにidが文字列であるので、($ scope.formats.formatType.id == "1")である必要があります – Vivz

+0

あなたの助けを借りてくれてありがとうございます – Beep

0

は、なぜあなたは「$ scope.formData.ProductType.name.id」のように(あなたが検索を使用しているため、と仮定)アレイを使用して、「値」にアクセスしています"$ scope.formats.formatType.id"(既にフィルタしたもの)で値にアクセスするのではなく、

また、フィルタされた変数には、 "$ scope.formData.ProductType.name.id"の種類に一致する形式はなく、代わりにthis - > "$ scopeのような変数にアクセスする必要があります。 formats.formatType.id "

関連する問題