ng-if和angular ui $ parent错误

时间:2013-12-10 21:31:03

标签: angularjs angular-ui

我使用Angular UI标签进行简单布局,如下所示:

<div id="mainContainer" class="mainContainer" data-ng-controller="authorization">            
        <tabset ng-if="authorized">        
            <tab heading="Resources" >
                Authorized
            </tab> 
        </tabset>                    

        <div ng-if="!authorized">
            Not authorized
        </div>
    </div>

只要授权false,就会显示“未授权”,但只要授权true并且应该显示标签,我就会得到这个丑陋的东西:

TypeError: Cannot read property '$parent' of undefined
at link (http://angular-ui.github.io/bootstrap/ui-bootstrap-tpls-0.7.0.js:2760:51)
at Q (http://ajax.googleapis.com/ajax/libs/angularjs/1.2.3/angular.min.js:49:451)
at http://ajax.googleapis.com/ajax/libs/angularjs/1.2.3/angular.min.js:56:142
at f (http://ajax.googleapis.com/ajax/libs/angularjs/1.2.3/angular.min.js:43:24)
at Q (http://ajax.googleapis.com/ajax/libs/angularjs/1.2.3/angular.min.js:49:392)
at http://ajax.googleapis.com/ajax/libs/angularjs/1.2.3/angular.min.js:56:142
at f (http://ajax.googleapis.com/ajax/libs/angularjs/1.2.3/angular.min.js:43:3)
at http://ajax.googleapis.com/ajax/libs/angularjs/1.2.3/angular.min.js:42:180
at http://ajax.googleapis.com/ajax/libs/angularjs/1.2.3/angular.min.js:43:422
at y (http://ajax.googleapis.com/ajax/libs/angularjs/1.2.3/angular.min.js:47:204) <ul class="nav {{type &amp;&amp; 'nav-' + type}}" ng-class="{'nav-stacked': vertical}" tabset-titles="!tabsAbove"> 

如果我使用ng-switch,我也会得到同样的结果。

以下是我正在使用的Angular版本

//ajax.googleapis.com/ajax/libs/angularjs/1.2.3/angular.min.js
//angular-ui.github.io/bootstrap/ui-bootstrap-tpls-0.7.0.js

看到它看起来不像来自我的任何角度代码,我甚至不确定从哪里开始寻找解决方案。 谢谢!

1 个答案:

答案 0 :(得分:0)

一种解决方案是确保指令ng-iftabset不会发生冲突:

  <div ng-if="authorized">
    <tabset>        
        <tab heading="Resources" >
            Authorized
        </tab> 
    </tabset>
  </div>    

您的问题可能与this issue有关。