我在这样的对象上有一个数组:
$scope.techniques = [
{
programmes : 'genie' ,
documents :[
{
menuTag: 'Moments et Centroïdes',
titre: "Moments et Centroïdes",
contenu: "moment.html"
}]
},
{
programmes : 'test' ,
documents :[
{
menuTag: 'test de test',
titre: "test",
contenu: "test.html"
}]
}
];
我正在尝试使用嵌套的ng-repeat构建我的菜单,并且在stackoverflow上找到的例子不起作用。无法想象你为什么。
这是我的HTML;
<button ng-repeat="tech in techniques" class="btn btn-primary dropdown-toggle" type="button" data-toggle="dropdown">{{tech.programmes}}
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li ng-repeat="doc in tech.documents"><a href="../{{doc.contenu}}" ng-cloak>{{doc.menuTag}}</a></li>
</ul>
我可以看到程序,但我看不到程序中的文档。 我做错了什么?
答案 0 :(得分:2)
这是因为您正试图访问&#34; tech&#34;在第一个ng-repeat-scope之外。所以它没有嵌套。
<div ng-repeat="tech in techniques">
<button class="btn btn-primary dropdown-toggle" type="button" data-toggle="dropdown">
{{tech.programmes}}
<span class="caret"></span>
</button>
<ul ng-repeat="doc in tech.documents" class="dropdown-menu">
<li><a href="../{{doc.contenu}}" ng-cloak>{{doc.menuTag}}</a></li>
</ul>
</div>
答案 1 :(得分:1)
因为您不在$ scope.techniques的迭代中。
WITH cte AS (
SELECT ClientId
FROM [Table]
WHERE TypeId = 1
)
SELECT DISTINCT ClientId
FROM [Table]
WHERE ClientId IN
(
SELECT ClientId
FROM cte
)
AND TypeId != 3
答案 2 :(得分:1)
你的两个ng重复实际上并不是嵌套的。为了嵌套两个ng-重复,第二个ng-repeat应该在第一个ng-repeat的范围内。您无法访问“技术”。在按钮元素之外。为了使它工作,将div和ul包裹在div中,并在div上定义第一个ng-repeat而不是按钮。