Angular-Js ng-model不接受值

时间:2015-12-21 15:22:30

标签: angularjs angularjs-ng-model

请检查这段代码。我试图从UI获取值,但它未定义。它的代码如下。当我在控制台中打印该值时,它将“未定义”。

UI代码 -

<table class="table table-bordered table-striped container">
                    <tr>
                        <td>First Name:</td>
                        <td><input type="text" ng-model="user.firstName"/></td>
                    </tr>
                    <tr>
                        <td>Last Name:</td>
                        <td><input type="text" ng-model="user.lastName"/></td>
                    </tr>
                    <tr>
                        <td>Email:</td>
                        <td><input type="text" ng-model="user.email"/></td>
                    </tr>
                    <tr>
                        <td>Mobile:</td>
                        <td><input type="text" ng-model="user.mobile"/></td>
                    </tr>
                    <tr>
                        <td><br/><button ng-click="addUser()" class="btn-panel-big">Add New User</button></td>
                    </tr>
                </table>

控制器代码 -

$scope.addUser = function addUser() {
         console.log("["+user.firstName+"]");
         $http.post(urlBase + 'users/insert/'+$scope.user)
            .success(function(data) {
             $scope.users = data;   
             $scope.user="";             
            });
        };

你能告诉我什么是错的吗?我想将值存储在单个对象中,然后将其发送到后端的基于rest的控制器。

3 个答案:

答案 0 :(得分:1)

您是否已将用户对象初始化为空对象? 例如。 var user = {} OR $ scope.user = {}

答案 1 :(得分:0)

使用$ scope.user获取用户对象。

console.log("[" + $scope.user.firstName + "]");

也可能是以下行

$http.post(urlBase + 'users/insert/', $scope.user)

希望这有帮助

答案 2 :(得分:0)

问题在于正确设置范围变量。