2013-12-10 58 views
1

我採用了棱角分明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

這裏是我使用

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

看到它是如何看起來並不像它是從我的任何角度代碼來的角版本我甚至不知道從哪裏開始尋找一個解決方案。 謝謝!

回答

0

一種解決方案是,以確保指令ng-iftabset不會衝突:

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

你的問題可能與this issue

+0

我試過了。我得到了同樣的錯誤:/ – americanslon

+1

@americanslon也嘗試了'ng-show'?這不會創建一個新的'$ parent'作用域,並且可能正常工作。 –

+0

是的,我已經嘗試過了,它的工作原理。但是,ng-show會觸發控制器的選項卡上的任何內容,在我的情況下,它是我想避免的一些Ajax調用。 – americanslon