У меня есть массив объектов, каждый из которых имеет свойство name и url. Я использую ng-options для отображения свойства имени каждого объекта в списке выбора.Передача аргумента функции через ng-change не работает
Затем я использую ng-change для вызова функции с URL-адресом выбранного объекта в качестве аргумента функции. При выполнении этого я не получаю никаких ошибок, но когда консоль регистрирует переданный аргумент в функции после вызова, он возвращает undefined. Так что что-то с передачей url в качестве аргумента не работает. Было бы здорово, если бы кто-то мог указать мне в правильном направлении.
Вот идет HTML:
<div ng-controller="TaskChartCtrl">
<select ng-model="selectedP" ng-options="project as project.name for project in projectList" ng-change="populateGraphs(project.url)">
<option value="">Select A Project</option>
</select>
</div>
Это код контроллера:
mod.controller("TaskChartCtrl", ["$scope", "$http", function ($scope, $http) {
$scope.projectList = [];
$http.get('https://api.freeagent.com/v2/projects', config).then(function(response) {
$scope.projectList = response.data.projects;
});
$scope.populateGraphs = function(projectUrl) {
console.log(projectUrl);
$scope.selectedP = projectUrl;
//REST OF FUNCTION CODE USING $scope.selectedP
}
Образец projectList после доставай вернулся:
$scope.projectList = [{
'name':'projectName',
'url':'projectUrl'
}, {
'name':'projectName2',
'url':'projectUrl2'
}, {
...
}]
Любая помощь будет оценена.
А теперь это работает! Большое спасибо :) – Anton
Рад слышать, что это помогло - пожалуйста, подумайте о том, чтобы принять мой ответ (зеленый галочку налево), если он сделал трюк для вас :) –