【发布时间】:2015-03-10 07:16:40
【问题描述】:
可以将 AngularJS 指令设置为需要一个或另一个指令吗?
我正在创建两种类型的按钮,它们可以打开带有其他选项的菜单。
<dropdown-button>
</dropdown-button>
其行为类似于 Bootstrap 的下拉按钮。
还有一个……
<split-dropdown-button>
</split-dropdown-button>
这相当于拆分按钮的替代品。
两者都需要一个菜单定义,以完全相同的方式完成,所以我想创建一个(例如)button-menu 指令,它需要dropdown-button 或 split-dropdown-button .
这可能吗?
如果指令只能完全需要一个或多个,还有哪些替代方案?
【问题讨论】:
-
为什么不在这两种类型的指令上使用可选的 require 数组,如果两者都不存在,则在链接函数中抛出异常?
-
您能详细说明并给出答案吗?我熟悉 require 中的数组,但不熟悉使它们成为可选的能力,如果找不到则抛出异常。
-
为什么你的
require的值被包裹在一个字符串中?它应该只是一个常规数组。 -
@user2943490 - 啊!这棵树在森林里迷路了。当我将我的需求更改为一个数组并且完全错过了它时,我留下了引号。只是在我查看所有内容时无法看到它们——一次又一次——一次又一次。感谢您发现...它修复了错误。
标签: javascript angularjs angularjs-directive