如何将名称拆分为名字和姓氏并在范围内使用

时间:2015-07-20 12:46:49

标签: javascript angularjs

我正在使用Node,Angular&蒙戈。并且能够从数据库成功保存和检索用户。我在我的用户模型中有以下内容 - > name:String。这基本上是用户输入他的名字和姓氏的地方。

现在我想从数据库中检索名称,并将第一个和最后一个名称拆分,以检索名字和姓氏的第一个字母,以创建用户的姓名缩写。

我的问题是基本上如何做到这一点:

用于检索用户的app.js代码的一部分如下(在此函数中我将编写拆分的javascript代码):

self.mediaObject.finished.connect(self.on_finish)

def on_finish(self):
    if self.whatToDoNext=="ordered":
        #read the next song
    elif self.whatToDoNext=="random":
        #read a random song
    else:
        #replay

我试过这样的事情:

//Retrieving the users
        $scope.getUsers = function() {
            $http.get('/api/users').success(function(data) {
                    $scope.userInfo = data;

                    //console.log("Retrieved users from the server", data);
                    //$scope.linkTaskToUser(data);
                    //console.log(data);
                })
                .error(function(data, status, headers, config) {
                    console.log("Error in retrieving users from server");
                });


            var FirstLastName = $scope.userInfo.data.name;
            console.log('---->>>>>' , FirstLastName);



        }
        $scope.getUsers();

但当然这不对(引发错误)....

2 个答案:

答案 0 :(得分:1)

get()是异步的 - 您必须在success-function中管理数据:

//Retrieving the users
    $scope.getUsers = function() {
        $http.get('/api/users').success(function(data) {
                $scope.userInfo = data;
                var FirstLastName = $scope.userInfo.data.name;
                console.log('---->>>>>' , FirstLastName);

                //console.log("Retrieved users from the server", data);
                //$scope.linkTaskToUser(data);
                //console.log(data);
            })
            .error(function(data, status, headers, config) {
                console.log("Error in retrieving users from server");
            });

    }
    $scope.getUsers();

答案 1 :(得分:1)

首先,将您的以下代码置于成功回调中:

var FirstLastName = $ scope.userInfo.data.name;             console.log('---->>>>>',FirstLastName);

现在尝试仅控制data.name。如果这个给你数据,那么尝试console.log($ scope.userInfo.name);

希望这可能对你有所帮助!! 干杯!!!