关于angularjs:表内的指令在表外渲染

Directive inside table is rendered outside table

我有一个这样的独立范围指令:

1
2
3
4
5
6
7
8
9
10
.directive('hello', function() {

    return {
      restrict: 'E',
      replace: true,
      template: 'Hello Directive',
      scope: {}
    };

});

如果我将该指令放在一个表格中,奇怪的是,该指令会呈现在表格之外,即使用作属性:

1
2
3
4
5
6
7
8
9
<table>    
  <tr>
    <hello></hello>

    <td>Cell 1</td>            
    <td>Cell 2</td>            
    <td>Cell 3</td>            
  </tr>
</table>

enter


缺少一个包裹元素的 <td> 标签,一个 不能作为 <tr> 的子元素直接插入。


这个布局适合我:

1
2
3
4
5
6
7
8
   <table>    
       <tr>
           <td><hello></hello></td>
           <td>Cell 1</td>              
           <td>Cell 2</td>              
           <td>Cell 3</td>              
        </tr>
   </table>