AngularJS值作为未定义传递

时间:2015-11-09 10:59:37

标签: angularjs

我正在尝试将值传递给AngularJS中的函数:

<div class="form-group" ng-repeat="d in departments">
    <div>
        <label class="col-md-2 control-label" for="userType">Department</label>
        <div class="col-md-3">
            <select id="department" class="form-control" ng-model="d.departmentKey" ng-init="listDepartments()" ng-options="dl.deptkey as dl.deptName for dl in getDepartmentList" ng-change="listSubDepartments(d)"></select>
        </div>
    </div>               
 </div>

控制器:

angular.module("timesheetManagement").controller("addNewUserCtrl", function ($scope, addUserResource) {
    $scope.listSubDepartments = function (d) {
        var departmentKey = d.departmentKey
    }
}

但由于某些原因,d.departmentKey刚刚被传递为&#34;未定义&#34;

2 个答案:

答案 0 :(得分:0)

尝试不传递变量,如下所示

$scope.listSubDepartments = function () {
    var departmentKey = $scope.d.departmentKey
}

因为您已经定义了$ scope上可用的ng模型。

答案 1 :(得分:0)

未定义'因为你实际上没有通过它。您应该使用ng-init="listDepartments(d)"为函数提供值。

可能ng-init不是一个完美的方法,因为它只执行一次