使用ng-include停止AngularJS插入<span class =“ng-scope”> </span>

时间:2013-01-04 23:00:27

标签: angularjs zurb-foundation css-selectors

我正在使用Foundation布局框架,它会自动将.column的最后一个兄弟放在右边,我真的很感激这是一种行为。但是,AngularJS会在每个span.ng-scope之后插入div.column,这会以某种方式导致浏览器将最后一个跨度视为.column的最后一个兄弟(即使它不是)。

具体而言,基金会对此负责的是:

[class*="column"] + [class*="column"]:last-child { float: right; }

据我了解,[attribute*="substring"]应该只选择匹配的兄弟姐妹,因此,对于上述内容,只选择其class属性包含column(包括columns)的元素。我认为其class属性不包含column的span标记不应匹配(因此:last-child会忽略)。但是,情况似乎并非如此。

无论如何,span 导致问题:

有没有办法配置角度来停止插入那些span标签?我不情愿地修改css选择器以某种方式忽略所有span标签;但是我最终可能需要/想要使用span标签。

2 个答案:

答案 0 :(得分:2)

由于您指示可以将div移入内部,因此可以:

<ng-include src="'main.tmpl'"></ng-include>

然后在你的模板中:

<div class="row">
   <article id="sidepanels" class="four columns">
   ...
</div>

我不知道有什么办法阻止角度插入span标签(我认为它会跟踪范围 - 用于垃圾收集)。

答案 1 :(得分:0)

此外,您可以尝试我的版本的include指令,该指令不会创建范围:Gist source

由于没有创建范围,AngularJS不应该为mainain范围创建额外的元素(它实际上使用数据属性来存储范围的链接)。