我在HTML中有一個選擇下拉菜單,其中包含顯示字符串和數字作爲其值。每個數字都是可以通過REST HTTP URL進行查詢的資源的ID。使用Angular將選擇下拉列表綁定到AJAX請求
如何將選擇的變化選擇狀態綁定到Angular控制器上的屬性?使用ng-change是否正確?什麼是最安古拉和說明性的做法?
現在假定select的範圍與發出REST請求的函數的作用域相同。
我在HTML中有一個選擇下拉菜單,其中包含顯示字符串和數字作爲其值。每個數字都是可以通過REST HTTP URL進行查詢的資源的ID。使用Angular將選擇下拉列表綁定到AJAX請求
如何將選擇的變化選擇狀態綁定到Angular控制器上的屬性?使用ng-change是否正確?什麼是最安古拉和說明性的做法?
現在假定select的範圍與發出REST請求的函數的作用域相同。
一種方法是在select
的ng-model
屬性範圍內使用$watch
。
$scope.selectModel='foo';
$scope.otherProperty= /* ....*/
$scope.$watch('selectModel', function(){
$http.get(url, { keyName: $scope.selectModel).success(function(response) {
$scope.otherProperty=response;
});
})
謝謝,我還發現,ng-change屬性也會起作用。 – brushleaf
作爲我prefaced..this是一種方式。我提出了這個問題,因爲可以在應用中使用'$ watch'作爲許多其他用途,並且是您的角色庫中非常有價值的工具 – charlietfl
謝謝charlietfl,我同意你的答案更好,更廣泛,這就是爲什麼我將它標記爲已接受並向上投票的原因。我只是注意到至少有另外一種選擇特定的方式。 – brushleaf
[http://docs.angularjs.org/tutorial/step_04](http://docs.angularjs.org/tutorial/step_04) – couzzi
我沒有看到它匹配什麼,我只需要很。也許我應該簡化我的問題,我想要改變select來觸發控制器中包含select的新值的函數。我認爲這個函數可以把這個值附加到一個REST查詢中。我可以將選擇已經綁定到控制器上的屬性,但更改屬性不會觸發函數。 – brushleaf