Alok Negi
Alok Negi

Reputation: 1

ng-repeat is not updating

When the below form is submitted, and additional entry is created into the database. But the ng-repeat is not getting refreshed. Any ideas?

html code:


                                <table class="redTable">
                                    <thead>
                                        <tr>
                                            <th> Domain</th>
                                            <th> Username</th>
                                        </tr>
                                    </thead>
                                    <tbody>

                                        <tr ng-repeat="eachuserconfigdata in userconfigdata track by $index">
                                            <td>
                                                <input type="text" ng-model="eachuserconfigdata.Domain" value="{{ eachuserconfigdata.Domain }}" ng-readonly='!($index == eEditable)' ng-dblclick="eEditable = $index" style="background-color: transparent ; width:80px;border: 0;" />
                                            </td>
                                            <td>
                                                <input type="text" ng-model="eachuserconfigdata.UserName" value="{{ eachuserconfigdata.UserName }}" ng-readonly='!($index == eEditable)' ng-dblclick="eEditable = $index" style="background-color: transparent ; width:80px;border: 0;" />
                                            </td>
                                        </tr>
                                    </tbody>
                                </table>

                                <br />
                            </div>

Javascript var myApp = angular.module("mymodule", ['ngMaterial']);

var myController = function ($scope, $http, $log) {

$scope.username = "";
$scope.ps = "";                         

$scope.submit = function () {
    //alert($scope.username);
    //alert($scope.ps);

    $scope.myStyle = { color: 'red' };
    var data = {            
        Domain: $scope.domainname,
        UserName: $scope.domainusername,
        Password: $scope.domainps
    };
    $http({
        method: 'POST',
        //url: 'Login/LoginUser?user=' + $scope.username + '&password=' + $scope.ps,
        url: 'Login/UpdateDomainConfiguration',
        data: data,
        headers: { "Content-Type": "application/json" }
    })
        .then(function successCallback(response) {
            var userid = 0;
            $scope.message = response.data;  
            //$log.info(response);                               
            $scope.GetUserConfigDetails();

        }, function errorCallback(response) {
            // called asynchronously if an error occurs
            // or server returns response with an error status.
            alert(response.data);
        });                
}

Upvotes: 0

Views: 57

Answers (1)

JkAlombro
JkAlombro

Reputation: 1824

What you did based on your code is you just saved it to db but never fetched it (not sure about this $scope.GetUserConfigDetails(); though).

What you need to do is after saving it to db, fetch the data again and assign it to your ng-repeat array. Or you can just simply insert the data you've saved to the db into your existing array so that you don't have to fetch again.

Upvotes: 0

Related Questions