Hi all,

I have the following in my HTML markup:

<div class="row" ng-app ng-controller="clientController">
    <div class="col-md-4">
        <div class="well">
            <div class="input-prepend">
                <label for="search-box" class="add-on">
                    <i class="icon-search"></i>
                </label>
                <input id="client-search-box" class="form-control" 
type="text" placeholder="Search" ng-model="search.name">
             </div>
            <a class="btn btn-default" mdl-link="/client/"><i 
class="icon-plus"></i>Add a Client</a>
        </div>
    </div>
    <div class="col-md-8">
        <div class="well" id="client-list">
            Clients<ul>
                <li ng-repeat="client in clients | filter:search | 
orderBy:name">
                    <a href='/clients/{{client.id}}' 
title="{{client.name}}" class='resource-link'>{{client.name}} has {{ 
client.isActive }} </a>
                </li>
            </ul>
        </div>
    </div>
</div>

and the following in my JavaScript:

<script type="text/javascript">

        function clientController($scope, $http) {
            $http.get('/api/client.json').then(function (res) {
                var clients = res.data.result.client
                $.each(clients, function (clientKey, clientVal) {
                    $http.get('/api/client/' + clientVal.id + 
'/reads.json', function (readData) {
                        var reads = readData.result.client.reads;
                        if (reads.read.length > 0) {
                            var activeReads = 0;
                            $.each(reads.read, function (readKey, readVal) {
                                if (readVal.islive == "True" && 
readVal.isrunning == "True") {
                                    activeReads++;
                                }
                            });
                            if (activeReads > 0) {
                                clientVal["isActive"] = true;
                                clientVal["activeReads"] = activeReads;
                            } else {
                                clientVal["isActive"] = false;
                                clientVal["activeReads"] = activeReads;
                            }
                            clients.push(clientVal);
                        }
                    });
                });
                
                $scope.clients = clients;
                console.log($scope.clients); // I can see the isActive and 
activeReads here
            });
        }
</script>

My problem is that I cannot access the "isActive" and "activeReads" in the 
template, I am assuming that it has not loaded in yet, the question is how 
can I make it wait till the whole shebang has run before using it in my 
template?
I hope all this makes sense.

-- 
You received this message because you are subscribed to the Google Groups 
"AngularJS" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/angular.
For more options, visit https://groups.google.com/d/optout.

Reply via email to