Как разделить имя на имя и фамилию и использовать в области видимости

0

Я работаю с Node, Angular & Mongo. И удалось успешно сохранить и извлечь пользователя из db. У меня в моей модели пользователя следующее → name: String. Это в основном, когда пользователь вводит свое имя и фамилию.

Теперь я хочу получить имя из базы данных и разделить первое и последнее имя, чтобы получить первую букву имени и фамилии для создания инициалов пользователя.

Мой вопрос: как это сделать в основном:

Часть моего кода app.js для извлечения пользователя следующая (в этой функции я бы написал раздельный код javascript):

//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();

Я попробовал что-то вроде этого:

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

Но, конечно, это неправильно (порождает ошибку)....

  • 0
    Как бы это выбросить ошибку
  • 0
    Также единственный способ разделить имена, это вставить их правильно, не полностью в базу данных. Вы не можете гарантировать, что возможно разделить имена по коду. Например, в Нидерландах ваша фамилия может быть van den moll, а во многих странах у вас есть несколько имен и отчеств. Разделите их в базе данных, иначе у вас всегда будут проблемы с локализацией.
Показать ещё 6 комментариев
Теги:

2 ответа

1
Лучший ответ

Во-первых, добавьте код ниже внутри кода:

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

Теперь попробуйте консоль просто data.name. Если этот файл дает вам данные, попробуйте console.log($ scope.userInfo.name);

Надеюсь, это поможет вам! Приветствия !!!

  • 0
    Я всегда получаю сообщение об ошибке: не могу прочитать свойство 'имя' из неопределенного ...
  • 0
    Можете ли вы напечатать свой ответ здесь? В случае успеха перезвоните write: console.log (data); Тогда дайте мне знать результат.
Показать ещё 1 комментарий
1

get() - асинхронный - вам нужно управлять данными в функции успеха:

//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();
  • 0
    сделал, как вы предлагали, но получил ошибку -> gyazo.com/95336ab8ef3a0310b32fc539179954e5
  • 0
    Пожалуйста, посмотрите в функции успеха, что находится в данных. Вы можете отлаживать? Данные не определены?
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню