2016-11-04 100 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