Я получаю объекты из фабрики, фабрика тянет их из Firebase.
Вот так выглядит контроллер (частично):
$scope.customers = [];
function getTotal() {
$scope.custTotal = $scope.customers.length;
}
function init() {
$scope.customers = customersFactory.getCustomers();
getTotal();
}
init();
Во вьюхе {{custTotal}}
Проблема в том, что $scope.customers.length ничего не возвращает, вообще, тогда как $scope.customers возвращает массив:
[{"city":"Rutten","id":1,"joined":"2011-05-02","name":"Tanner","orders":[{"id":2,"product":"Left shoe","total":2.95}],"$id":"0","$priority":null},{"city":"San Francisco","id":2,"joined":"2011-12-12","name":"Joffrey","orders":[{"id":1,"product":"Right shoe","total":4.95},{"id":2,"product":"Left shoe","total":9.95}],"$id":"1","$priority":null}]
Если поместить во вью {{customers.length}} все работает. Почему не работает length внутри функции?
Думал что проблема в асинхронности загрузки, пробовал использовать then и $watch, но ничего не меняется.