2016-11-04 86 views
0

新的Angular JS編碼器,小問題。當ng-app不相鄰時,AngularJS控制器不顯示數據

定義是:

<div> 
    <div ng-controller="myController" ng-app="myApp"> 
     <div ui-grid="gridOptions" ui-grid-tree-view ui-grid-grouping class="grid"></div> 
    </div> 
</div> 

然後

<script> 
    var app = angular.module("myApp", [...]) 
    .controller("myController", [...,function(...){ ... }]); 
</script> 

工作正常。我可以將數據填充到控制器和網格中,這個世界是一個有趣而愉快的地方。

現在。我將標記更改爲THIS(將ng-app移動到外部div):

<div ng-app="myApp"> 
    <div ng-controller="myController"> 
     <div ui-grid="gridOptions" ui-grid-tree-view ui-grid-grouping class="grid"></div> 
    </div> 
</div> 

和世界明顯爆炸。網格不再填充;它的CSS就在那裏,但根本沒有數據。我試過在contentplaceholder中,我試過所有包含該代碼段的div,但最簡單的方法是,如果我將它移動到一個元素級別以上,它仍然不起作用。

詳細信息:主頁內部的子頁面(所有角度定義都在頁面本身,而不是在主頁中),幾層元素容器可以確認數據是否填充,如果ng-appng-controller,但不是當它超過它。

+1

確定它是一個孩子,而不是你的ng-app的兄弟? –

+0

也許你可以提供一個plunker – vlio20

+0

亞爾,我甚至檢查了各種瀏覽器開發工具等,以確保我沒有得到奇怪的標記。一切都很好,在這個家庭樹。 我會提供一個plunker,但是頁面本身相當複雜,並且充滿了從DB和所有JSON數據中撤回的好東西。認爲格式化標記和腳本不起作用,我不知所措。 對於我來說,當它與控制器一起工作時,它的工作原理很奇怪,但當它在控制器上方工作時並不合適。 >。< – SliderBlackrose

回答

0

請看看以下plunker:http://plnkr.co/edit/NRyCjTonKrkcibd9607f?p=preview

嘗試用這個來比較你的代碼,它使用像你說的,不是工作你同樣的html:

<div ng-app="app"> 
    <div ng-controller="MainCtrl"> 
    <div id="grid1" ui-grid="{ data: myData }" class="grid"></div> 
    </div> 
</div> 
+0

我檢查了這個。數據正在通過$ http.get()在控制器中設置。正如我所說的,數據在時填充很好,但是當它們分開時不會出現。愚蠢的分離焦慮。 – SliderBlackrose

+0

請提供一些搗蛋器來玩。這聽起來很奇怪 – vlio20

+0

當我回家時會做。將很難重新創建。一直在彈跳更多的東西,仍然沒有得到結果。顯然,我沒有成角。 o.o – SliderBlackrose