Звоните $scope.getTotalCart
внутри ng-init
. Это делает его одним из первых, что он делает сразу после вызова. Фактически, это происходит так быстро, что /getSubcartTotal
еще даже не вернул значение. Это означает, что $scope.subtotal
все еще не определен. Чтобы исправить это, вы можете, конечно, дать ему начальное значение или отложить вызов getTotalCart
, поместив его внутри обратного вызова ответа, или, если вы используете uiRouter
, вы должен иметь возможность использовать "resolve" для загрузки контроллера только после того, как запрос был завершен.