将重点放在Tizen Caph 3.0 Angular的新页面上

时间:2016-12-16 08:59:05

标签: angularjs tizen tizen-web-app

我正在使用Caph 3.0库开发Tizen TV应用程序。 当我重新定位到新页面时,我无法手动设置焦点。 例如,我有下一个代码的页面:

HTML

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

当我点击系列链接时 - 出现带有下一个代码的新页面

<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)
}

我犯了什么错误? 谢谢。

1 个答案:

答案 0 :(得分:1)

终于解决了。感谢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:另外检查ng-controller不属于&lt;身体&gt;标签