我在html页面中使用mdVirtualRepeat
指令时出现问题。问题是我需要在同一个标签中包含一个html。这是我应该做的:
<table>
<thead>
<tr>
<th ng-repeat="header in headers">
{{header.title}}
</th>
</tr>
</thead>
<tbody md-virtual-repeat-container
id="vertical-container"
md-auto-shrink = "true"
md-virtual-repeat="item in items.list"
data-ng-include="./details.html'">
</tbody>
</table>
并且details.html
页面包含我的表的列2 tr。类似的东西:
<tr>
<td>
{{item..}}
</td>
<td>
{{item..}}
</td>
</tr>
<tr>
<td colspan="2">
{{item..}}
</td>
</tr>
真正的问题是item
需要在所有detail.html页面中使用它。因此,我无法在第一个<tr>
代码中循环播放,因为在第二个代码中我无法再使用它。但是通过这种方式,我无法使用该指令,因为我收到了这个错误:Error: [$compile:multidir] Multiple directives [mdVirtualRepeat, ngInclude] asking for transclusion
有没有办法解决问题?
编辑: 或者有可能是这样的吗?
<tr md-virtual-repeat="item in items.list">
<td>
{{item..}}
</td>
<td>
{{item..}}
</td>
</tr>
<tr>
<td colspan="2">
{{item..}} (use item also here out of ng-repeat?)
</td>
</tr>
答案 0 :(得分:1)
尝试创建指令。类似的东西:
yourModule.directive('details', function() {
return {
restrict: 'A',
templateUrl: 'details.html'
};
});
然后:
<tbody md-virtual-repeat-container
id="vertical-container"
md-auto-shrink = "true"
md-virtual-repeat="item in items.list"
details>
修改强>: 这是simplified example