传入ng-click函数时,AngularJs模型未定义



在ng-click函数中传递logInModel时,它未被定义。然而,当我使用调试器时,我可以看到我的属性正在填充值。

有人能给我解释一下吗?

    $scope.logInModel = {
        userName: "",
        password: ""
    };
    $scope.postLogin = function (logInModel) {
        console.log("logInModel " + logInModel);
        authService.postLogin(logInModel).then(successCallback, errorCallBack);
    }

<div>
    <div class="row">
        <span>
            User Name:&nbsp;
            <input type="text" name="txtUserName" ng-model="logInModel.userName" />
        </span>
    </div>
    <div class="row">
        <span>
            Password:&nbsp;
            <input type="password" name="txtUserName" ng-model="logInModel.password" />
        </span>
    </div>
    <div class="row">
        <span>
            <button type="submit" name="btnSubmit" ng-click="postLogin(loginmodel)">
                <span> Sign In</span>
            </button>
        </span>
    </div>

</div>

ng点击中的大小写错误。使用大写字母"I"one_answers"M"。。。如logInModel

您在视图中传递postLogin(loginmode),但在$scope中,它是loginmodel,大写I和M,这就是它未定义的原因。

您的传递参数是错误的。它应该是ng-click="postLogin(logInModel)"

最新更新