gpt4 book ai didi

angularjs - 如何在表中放置指令?

转载 作者:行者123 更新时间:2023-12-02 04:56:30 25 4
gpt4 key购买 nike

我正在尝试使用 angularjs 在表中创建一个指令。我通常可以让它工作,除非我尝试将自定义元素(在我的 jsfiddle 中,<person />)放在表格中,浏览器通常倾向于将其从表格中拉出,并添加到元素之前。

http://jsfiddle.net/drewsonne/WSnyZ/16/

我期待:

<div ng-app="MyApp" class="ng-scope">
<people class="ng-scope">
<table>
<thead><tr><th>Name</th><th>Age</th></tr></thead>
<tbody>
<person info="personJohn" class="ng-isolate-scope ng-scope ng-binding">
<tr><td>John</td><td>10</td></tr>
</person>
<person info="personSally" class="ng-isolate-scope ng-scope ng-binding">
<tr><td>Sally</td><td>20</td></tr>
</person>
</tbody>
</table>
</people>
<person info="{name:'Fred',age:30}" class="ng-isolate-scope ng-scope ng-binding">
<tr><td>Fred</td><td>30</td></tr>
</person>
</div>

但我得到:

<div ng-app="MyApp" class="ng-scope">
<people class="ng-scope">
<person info="personJohn" class="ng-isolate-scope ng-scope ng-binding">
John10
</person>
<person info="personSally" class="ng-isolate-scope ng-scope ng-binding">
Sally20
</person>
<table>
<thead><tr><th>Name</th><th>Age</th></tr></thead>
<tbody></tbody>
</table>
</people>
<person info="{name:'Fred',age:30}" class="ng-isolate-scope ng-scope ng-binding">
Fred30
</person>
</div>

问题:

是否可以在表格中放置自定义元素,或者这是浏览器会自动滚动的东西?


注意事项:

我的主要动机是让我可以拥有类似的东西:

<year info="data"></year>

像这样的模板:

<year>
<table ng-repeat="year in data">
<thead><tr><th>Name</th><th>Value</th></tr></thead>
<tbody>
<tr><th colspan=2>{{year.name}}</th></tr>
<quarter ng-repeat="quarter in year.quarters">
<tr><th>{{quarter.name}}</th></tr>
<month>
<tr><th>{{month.name}}</th></tr>
<tr ng-repeat="day in month.days">
<th>{{day.name}}</th>
<th>{{day.value}}</th>
</tr>
</month>
</quarter>
</tbody>
</table>
</year>

呈现如下内容:

<table>
<thead><tr><th>Name</th><th>Value</th></tr></thead>
<tbody>
<tr><th colspan=2>2013</th></tr>
<tr><th>Quarter 1</th></tr>
<tr><th>February</th></tr>
<tr>
<td>01/02/2013</td>
<td>$12</td>
</tr>
<tr>
<td>05/02/2013</td>
<td>$15</td>
</tr>
<tr>
<td>10/02/2013</td>
<td>$17</td>
</tr>
</tbody>
</table>
<table>
<thead><tr><th>Name</th><th>Value</th></tr></thead>
<tbody>
<tr><th colspan=2>2013</th></tr>
<tr><th>Quarter 2</th></tr>
<tr><th>April</th></tr>
<tr>
<td>01/04/2013</td>
<td>$18</td>
</tr>
<tr><th>May</th></tr>
<tr>
<td>01/05/2013</td>
<td>$78</td>
</tr>
</tbody>
</table>

最佳答案

如果您小心使用有效的表格元素并依赖诸如属性指令之类的东西,它似乎工作得很好:http://jsfiddle.net/Tz83w/1/

'<tr ng-repeat="d in data" info="d"></tr>'
...
.directive('info', function () {
return {
restrict: 'A',
...
template: '<tr><td>{{info.name}}</td><td>{{info.Age}}</td></tr>'

关于angularjs - 如何在表中放置指令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17904086/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com