【问题标题】:Passing of function argument through ng-change not working通过 ng-change 传递函数参数不起作用
【发布时间】:2015-09-30 21:09:53
【问题描述】:

我有一个对象数组,每个对象都有一个 name 和 url 属性。我正在使用 ng-options 在选择列表中显示每个对象的名称属性。

然后我使用 ng-change 来调用一个函数,并将所选对象的 url 作为函数参数。执行此操作时,我没有收到任何错误,但是当控制台在调用后将传递的参数记录在函数中时,它返回未定义。因此,将 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'
}, {
    ...
}]

任何帮助将不胜感激。

【问题讨论】:

    标签: javascript angularjs angularjs-ng-change


    【解决方案1】:

    试试:

    ng-change="populateGraphs(selectedP.url)"
    

    select的model是selectedP,所以想从那里获取selected的值。

    【讨论】:

    • 很高兴听到它有帮助 - 请考虑接受我的回答(绿色勾号留给它),如果它对你有用:)
    猜你喜欢
    • 2015-09-28
    • 1970-01-01
    • 2014-12-14
    • 1970-01-01
    • 1970-01-01
    • 2023-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多