apiを呼び出して選択ドロップダウンメニューに値を設定しています。ユーザーが選択メニューからオプションを選択すると、私は第2の機能を起動させたい - $scope.getRoles()
。しかし、これはすぐに発砲しています。これがなぜ起こっているのか?以下の私の試みたコードを見てください。ドロップダウンからオプションを選択したときに角度関数をトリガー
HTML
<select>
<option ng-change="getRoles()" ng-repeat="country in countries">{{ country.countryCode }}</option>
</select>
角度
app.controller("jobsCtrl", function($scope, careerData) {
//get list of countries when app loads
careerData.countryList().then(function successCallback(response) {
$scope.countries = response.data;
$scope.countries.unshift({countryCode: "Select a country"});
}, function errorCallback(response) {
console.log(response);
});
$scope.getRoles = careerData.jobByCountry().then(function successCallback(response) {
console.log(response)
}, function errorCallback(response) {
console.log(response);
})
});
app.factory('careerData', ['$http', function($http){
return {
countryList: function() {
return $http({
method: 'GET',
url: 'testUrl'
})
},
jobByCountry: function() {
return $http({
method: 'GET',
url: 'someurl'
})
}
}
}]);
第1のものは、 'ng-model'を' select'に追加し、 'ng-change'指示文を' option'に置くのではなく、選択要素に置きます。 –
「