Заполнить форму из бэкэнда с angularjs

Я новичок в angularjs, я хочу получить форму из базы данных, когда пользователь хочет обновить свой профиль. У меня есть веб-сервис, который может предоставить всю информацию для зарегистрированного пользователя, а затем другой веб-сервис, чтобы получить необходимую мне информацию с идентификатором пользователя. Это мой контроллер:

controller('myTalentisCtrl', function ($scope,$http) {
    this.User_Talent={};
    this.T_User={} ;

        $http.get("/LoggedUser").success(function(data) {
            alert(data);
            this.T_User.lnId = data.lnId;
            alert(this.T_User.lnId);

            });


        $http.get("/usertalent",this.T_User.lnId).success(function(data) {
            alert(data);
            this.User_Talent.user = data.user;
            this.User_Talent.talent = data.talent;
            });
        $scope.modif=function(){        

            $http.put('updating/' + this.T_User.lnId, $scope.User_Talent).success(function(data) {

                $scope.User_Talent = data;
                });

            };

это часть моей формы:

<div  ng-controller="myTalentisCtrl" class="tab-content no-margin">

    <!-- Tabs Content -->
    <div class="tab-pane with-bg active" id="fwv-1">

        <div class="row">

            <div class="col-md-4">
                <div class="form-group">
                    <label class="control-label" for="full_name">First Name</label>
                    <input type="text" ng-model="User_Talent.talent.strFirstName" class="form-control" name="first_name" id="first_name" data-validate="required" placeholder="Your first name" />
                </div>
            </div>
            <div class="col-md-8">
                <div class="form-group">
                    <label class="control-label" for="address_line_2">Address</label>
                    <input ng-model="User_Talent.talent.strAdress" class="form-control" name="address_line_2" id="address_line_2" placeholder="(Optional) your Address" />
                </div>
            </div>

        </div>
        <div class="row">

            <div class="col-md-6">
                <div class="form-group">
                    <label class="control-label" for="full_name">Last Name</label>
                    <input type="text" ng-model="User_Talent.talent.strLastName" class="form-control" name="last_name" id="last_name" data-validate="required" placeholder="Your last name" />
                </div>
            </div>

            <div class="col-md-6">
                <div class="form-group">
                    <label class="control-label" for="city">City</label>
                    <input ng-model="User_Talent.talent.strCity" class="form-control" name="city" id="city" data-validate="required" placeholder="Current city" />
                </div>
            </div>

        </div>
        <div class="row">

            <div class="col-md-6">
                <div class="form-group">
                    <label class="control-label" for="door_no">Phone Number</label>
                    <input ng-model="User_Talent.talent.lnPhone" class="form-control" name="phone_no" id="phone_no" data-validate="number" placeholder="Numbers only" />
                </div>
            </div>

            <div class="col-md-6">
                <div class="form-group">
                    <label class="control-label" for="zip">Zip</label>
                    <input ng-model="User_Talent.talent.lnZipCode" class="form-control" name="zip_no" id="zip_no" data-validate="number" placeholder="Numbers only" />
                </div>
            </div>

        </div>
        <div class="row">
            <div class="col-md-6">
                <div class="form-group">
                <label class="control-label" for="email">Email Adress</label>
                <div class="input-group">
                            <span class="input-group-addon">
                                <i class="linecons-mail"></i>
                            </span>
                            <input ng-model="User_Talent.talent.strEmail" type="email" class="form-control" placeholder="Enter your email">
                        </div>
                    <!-- <label class="control-label" for="city">Email Adress</label>
                    <input ng-model="User_Talent.talent.strEmail" class="form-control" name="city" id="city" data-validate="required" placeholder="Current city" /> -->
                </div>
            </div>

Есть ли способ инициализировать мою модель нг с существующими значениями?

1 ответ

Решение

Вы должны выполнить цикл дайджеста, чтобы отразить изменения в DOM.

Просмотрите дайджест https://docs.angularjs.org/api/ng/type/$ rootScope.Scope

Другие вопросы по тегам