【发布时间】:2014-12-02 22:20:49
【问题描述】:
我正在尝试制作一个具有一些更高级功能的 table 指令,但是当我编写要构建的基本版本时,我遇到了一些我不明白的东西。
我有一个名为“njTable”的指令
当我将它用作属性时,它会起作用:
<body ng-app="tableTest">
<div ng-controller="mainCtrl as mc">
<div></div>
<table nj-table>
<nj-head>
<tr>
<th>Name</th>
<th>Age</th>
<th>State</th>
</tr>
</nj-head>
<nj-body>
<tr ng-repeat="person in mc.asyncList">
<td>{{person.name}}</td>
<td>{{person.age}}</td>
<td>{{person.state}}</td>
</tr>
</nj-body>
</table>
</div>
但是,当我使用与元素完全相同的指令时,它会中断:
<body ng-app="tableTest">
<div ng-controller="mainCtrl as mc">
<div></div>
<nj-table>
<nj-head>
<tr>
<th>Name</th>
<th>Age</th>
<th>State</th>
</tr>
</nj-head>
<nj-body>
<tr ng-repeat="person in mc.asyncList">
<td>{{person.name}}</td>
<td>{{person.age}}</td>
<td>{{person.state}}</td>
</tr>
</nj-body>
</nj-table>
</div>
这是坏掉的 Plunker:http://plnkr.co/edit/zkpPcJG1ZZ5XjORJOoy6?p=preview
这里是功能 Plunker:http://plnkr.co/edit/9W56YRREyuR4ew2rgVUc?p=preview
也许我没有完全理解将指令用作属性与将其用作元素之间的区别?
【问题讨论】:
-
你是说你不能使用角度指令创建自定义标签吗?如果这就是你所说的那不是真的,我一直在用角度制作自定义标签。
-
您可以使用 Angularjs 创建任何您想要的东西,例如
DID你检查当你使用指令作为你在返回中指定“restrict:'E'”的元素时?或至少“限制:'EA'”? -
如果您查看 Plunkr,您会发现我做到了
标签: javascript angularjs angularjs-directive angularjs-ng-repeat