2013-03-29 114 views
1

我在HTML中有一個選擇下拉菜單,其中包含顯示字符串和數字作爲其值。每個數字都是可以通過REST HTTP URL進行查詢的資源的ID。使用Angular將選擇下拉列表綁定到AJAX請求

如何將選擇的變化選擇狀態綁定到Angular控制器上的屬性?使用ng-change是否正確?什麼是最安古拉和說明性的做法?

現在假定select的範圍與發出REST請求的函數的作用域相同。

+0

[http://docs.angularjs.org/tutorial/step_04](http://docs.angularjs.org/tutorial/step_04) – couzzi

+0

我沒有看到它匹配什麼,我只需要很。也許我應該簡化我的問題,我想要改變select來觸發控制器中包含select的新值的函數。我認爲這個函數可以把這個值附加到一個REST查詢中。我可以將選擇已經綁定到控制器上的屬性,但更改屬性不會觸發函數。 – brushleaf

回答

5

一種方法是在selectng-model屬性範圍內使用$watch

$scope.selectModel='foo'; 
$scope.otherProperty= /* ....*/ 

$scope.$watch('selectModel', function(){ 
    $http.get(url, { keyName: $scope.selectModel).success(function(response) { 
      $scope.otherProperty=response; 
    }); 

}) 
+0

謝謝,我還發現,ng-change屬性也會起作用。 – brushleaf

+0

作爲我prefaced..this是一種方式。我提出了這個問題,因爲可以在應用中使用'$ watch'作爲許多其他用途,並且是您的角色庫中非常有價值的工具 – charlietfl

+0

謝謝charlietfl,我同意你的答案更好,更廣泛,這就是爲什麼我將它標記爲已接受並向上投票的原因。我只是注意到至少有另外一種選擇特定的方式。 – brushleaf

相關問題