直接访问页面时出现角度中断

时间:2016-06-27 09:48:23

标签: angularjs angular-ui-router

我有一个Angular项目,当直接/重新加载页面时,它会破坏某些部分(特别是顶部导航)。页面的其余部分工作正常。只有topnav使ui-sref之类的内容无法扩展到href且数据未加载。我还注意到当我直接重新加载/访问页面时,topnav控制器根本没有运行。

ui-router配置中有这个app抽象路由

$stateProvider
  .state('app', {
    url: '/app',
    abstract: true,
    templateUrl: helper.basepath('app.html'),
    resolve: helper.resolveFor('fastclick', 'modernizr', 'icons', 'screenfull', 'animo', 'sparklines', 'slimscroll', 'classyloader', 'toaster', 'whirl', 'spinkit', 'akoenig.deckgrid')
  })

它可能带有项目正在使用的主题。无论如何,在app.html文件中

<!-- top navbar-->
<header ng-include="'app/views/partials/top-navbar.html'" class="topnavbar-wrapper"></header>

然后在top-navbar.html

{{'OUTSIDE'}}
<nav ng-controller="TopNavBarController" role="navigation" class="navbar topnavbar" style="background-color:#1663DE;">
  {{'INSIDE'}}

外部和内部用于调试。我注意到在重新加载或直接访问页面时,angular会在HTML中正确打印OUTSIDE,但无法在内部正确打印。它在页面上显示为{{'INSIDE'}}。这让我觉得ng-controller有问题。删除ng-controller可修复此特定问题。

我在控制器功能后面添加了log

function TopNavBarController($scope, $state, SweetAlert) {
  console.log('in TopNavBarController')

控制器功能似乎没有运行?怎么了?

只有topbar失败,控制器/应用程序的其余部分才能正常工作。可以加载数据,ui-sref正确扩展。

0 个答案:

没有答案