添加拦截器会禁用指令

时间:2015-12-31 13:10:33

标签: javascript angularjs

我有一个角度应用程序,主体内容包含一个名为layout的指令,如下所示。

<body>
    <div layout></div>
</body

layout指令包含其他指令,如下所示

<div id="page-loader" class="fade in"><span class="spinner"></span></div>


<!-- begin #page-container -->
<div id="page-container" class="fade in page-sidebar-fixed page-header-fixed">

    <div header-directive ng-show="1==0"></div>
    <div leftnav-directive ng-show="1==0"></div>
    <div data-ng-view="">
    </div>
    <div footer-directive ng-show="1==0"></div>
</div>

我正在编写拦截器以进行身份​​验证以保护应用。以下行使页面无法加载

angular
.module('myapp')
.config(function ($httpProvider) {
    $httpProvider.interceptors.push('authInterceptorService'); // if i comment this line out it works
});

如果我将layout指令的内容移动到index.html中,页面加载正常。

<body>
<div id="page-loader" class="fade in"><span class="spinner"></span></div>


<!-- begin #page-container -->
<div id="page-container" class="fade in page-sidebar-fixed page-header-fixed">

    <div header-directive ng-show="1==0"></div>
    <div leftnav-directive ng-show="1==0"></div>
    <div data-ng-view="">
    </div>
    <div footer-directive ng-show="1==0"></div>
</div>
</body

我使用指令的原因是我可以隐藏/显示顶部导航和侧面导航菜单,而是显示登录屏幕(模板)。所以我可以检查指令代码,看看用户是否登录,如果他们是,我会显示其他指令。

This is the interceptor that I am using

知道发生了什么,我该如何解决?

感谢。

编辑: 我创造了一个plunker但我似乎无法使它工作。它无法识别app.js中创建的模块。 Please check it here

0 个答案:

没有答案