我正在使用AngularJS编写移动网络应用程序,并在不同视图中使用类似的组件(请参阅此处的图像:Similar Component in different views)
我为其中一个组件创建了一个指令。现在我想重写大部分代码,因为它们基本相同(所以我不必两次维护相同的代码)。通过服务等共享功能并不是真正的问题,而是不同的“HTML内容”。
重用现有指令的最佳方法是什么?在调用它或类似的东西时,我可以将指令“注入”主指令吗?
以下是我正在寻找的代码示例:
app.directive('directiveOne', function() {
return {
template: '<table><tr>
<td class="image"><img ...></img></td>
<td class="generic-input"></td>
<td class="dynamic-input">
<p>I am something</p>
</td>
</tr></table>'
};
app.directive('directiveTwo', function() {
return {
template: '<table><tr>
<td class="image"><i class="icon-one"></i></td>
<td class="generic-input"></td>
<td class="dynamic-input">
<p>I am something</p>
<p>I am something else</p>
<form>And I also have a form</form>
</td>
</tr></table>'
};
我有两个非常相似的模板作为指令。,即在上面附图中,我会调用一个版本的master-directive来显示左图像,另一个版本用于右图,而不是写两个近似相同的指令?