通过 ng-change 传递函数参数不起作用
Passing of function argument through ng-change not working
我有一个对象数组,每个对象都有一个名称和 url 属性。我正在使用 ng-options 显示 select 列表中每个对象的名称 属性。
然后我使用 ng-change 调用函数,将 selected 对象的 url 作为函数参数。执行此操作时我没有收到任何错误,但是当控制台在调用后在函数中记录传递的参数时,它 returns 未定义。因此,将 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
}
get 返回后的 projectList 示例:
$scope.projectList = [{
'name':'projectName',
'url':'projectUrl'
}, {
'name':'projectName2',
'url':'projectUrl2'
}, {
...
}]
如有任何帮助,我们将不胜感激。
尝试:
ng-change="populateGraphs(selectedP.url)"
select 的模型是 selectedP
,因此您想从那里获取 selected 值。
我有一个对象数组,每个对象都有一个名称和 url 属性。我正在使用 ng-options 显示 select 列表中每个对象的名称 属性。
然后我使用 ng-change 调用函数,将 selected 对象的 url 作为函数参数。执行此操作时我没有收到任何错误,但是当控制台在调用后在函数中记录传递的参数时,它 returns 未定义。因此,将 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
}
get 返回后的 projectList 示例:
$scope.projectList = [{
'name':'projectName',
'url':'projectUrl'
}, {
'name':'projectName2',
'url':'projectUrl2'
}, {
...
}]
如有任何帮助,我们将不胜感激。
尝试:
ng-change="populateGraphs(selectedP.url)"
select 的模型是 selectedP
,因此您想从那里获取 selected 值。