2013-12-23 5 views
2

Я использую следующую библиотеку для доступа индексированных в Angularjs на новом Chrome App: https://github.com/aaronpowell/db.jsIndexedDB обратного вызова не обновление пользовательского интерфейса в angularjs

Когда я пытаюсь обновить пользовательский интерфейс при запуске приложения с помощью этого:

db.orders.query().all().execute().done(function(results) { 
     $scope.ordercount = results.length; 
}); 

в моем main.html я использовал переменную ordercount как:

Orders : {{ordercount}} 

Однако, интерфейс не обновляется, если я не делать нг-клик или любые другие ng- * события. Все, что мне нужно, это показать количество заказов, когда загружается мое приложение. Я попробовал $ scope.apply(), но он выдает ошибку, заявив, что apply() недоступен.

Пожалуйста, помогите.

ответ

2

Поскольку вы получаете значения из из стороны угловых JS вы должны сделать это так,

$scope.$apply(function(){ 
    $scope.ordercount = results.length; 
}) 
+0

Черт! Я использовал $ scope.apply() вместо $ scope. $ Apply(). Благодаря! –

0

Похоже, вы получаете доступ $ объема от из стороны углового мира. Сначала вы должны получить объект области видимости, если хотите уведомить о том, что данные были обновлены.

//assume you have a controller named "dbCtrl" e.g., <div id="container" ng-controller="dbCtrl"></div> 
angular.element($("#container")).scope().$apply(function(){ 
    $scope.ordercount = result.length; 
}); 

Надеюсь, это полезно.

Смежные вопросы