2016-12-16 4 views
0

Я создаю приложение Tizen TV, используя библиотеку Caph 3.0. И я не могу настроить фокус вручную, когда я переезжаю на новую страницу. Например у меня есть страница со следующим кодом:Установите фокус на новую страницу в Tizen Caph 3.0 Angular

HTML

<a href="" ui-sref='home' >Movies</a> 
<a href="" ui-sref='series'>Series</a> 

Когда я нажав на ссылку Series - новая страница со следующим кодом появляется

<a href="" focusable on-focused='seriesCtrl.focusedItem($event)' id='1'>test element1</a> 
<a href="" focusable on-focused='seriesCtrl.focusedItem($event)'id='2'>test element1</a> 
<a href="" focusable on-focused='seriesCtrl.focusedItem($event)' id='3'>test element1</a> 

Но я потерял фокус. Я не могу перемещаться по этой новой странице с помощью стрелок. Ключи (эмулятор) Я попытался настроить фокус вручную с помощью focusController.focus(), но мне это не помогло. Я использую синтаксис ControllerAs.

Контроллер новой страницы

focusController.focus(document.getElementById('1')); 

console.log(focusController.getCurrentFocusItem()); ----- In this place console shows that focus still on Series link from previous page 

vm.focusedItem = function ($event) { 
console.log($event.currentTarget) 
} 

Где я допустил ошибку? Спасибо.

ответ

0

Окончательно разрешено. Благодаря поддержке CAPH.

Попробуйте

App.controller("DetailPageCtrl", ['$rootScope', '$scope', 'focusController', 'FocusUtil', function($rootScope, $scope, focusController, FocusUtil) { 
function initFocus() { 
         $scope.$applyAsync(function() { 
          FocusUtil.isElement($('#1')) && focusController.focus($('#1')); 
         }); 
        } 
$scope.$on('$viewContentLoaded', function() { 
         console.log("jj apply async $viewContentLoaded"); 
         initFocus(); 
        }); 

....... }]) 

P: S: Также проверьте нг-контроллер не принадлежит < тела> тег