多个角度指令引用相同的模板

时间:2015-06-20 03:40:30

标签: javascript angularjs design-patterns

我发现自己处于这样一种情况:我有2个隔离范围指令(每个指令管理不同的范围和dom状态),指的是单个模板。

.directive1...
    scope: {},
    templateUrl: 'template1',

.directive2...
    scope: {},
    templateUrl: 'template1',

我习惯于在我的指令和模板之间建立一对一的关系,而这个模型(2个指令 - 1个模板)让我从这个模式转向。

有没有充分的理由我不应该有多个隔离范围指令引用相同的模板?

这是否违反了一些'最佳实践'的设计模式?

我是否应该考虑其他设计考虑因素?

1 个答案:

答案 0 :(得分:0)

如果directive1和directive2在形式和功能上非常相似,我在重用相同的模板时没有看到任何问题。虽然,如果它们非常相似,那么它们可能意味着它们应该是一个带有参数/选项的指令吗?

我想补充说,在2对1情况中涉及的所有指令/模板的命名需要非常明确,它们是相似的,例如:'apple'指令和'orange'指令都使用'fruit'模板,类似于类继承模式。