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

时间:2016-05-06 02:22:53

标签: 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>

3 个答案:

答案 0 :(得分:1)

您正在视图中传递postLogin(loginmodel),但是在$ scope中,它是logInModel,其中包含大写I和M,这就是为什么它未定义。

答案 1 :(得分:1)

ng-click中的外壳是错误的。使用大写&#34;我&#34;和&#34; M&#34; ......与logInModel一样

答案 2 :(得分:0)

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