AngularJS 指令可以要求一个或另一个指令吗?
Can an AngularJS Directive Require One Directive or Another?
能否将 AngularJS 指令设置为需要一个或另一个指令?
我正在创建两种类型的按钮,它们可以打开带有附加选项的菜单。
<dropdown-button>
</dropdown-button>
其行为类似于 Bootstrap 的下拉按钮。
还有一个...
<split-dropdown-button>
</split-dropdown-button>
这相当于拆分按钮的替代方案。
两者都需要一个菜单定义,这是以完全相同的方式完成的,所以我想创建一个(例如)button-menu
指令,它需要 dropdown-button
或 split-dropdown-button
.
这可能吗?
如果一个指令只能完全需要一个或多个,有什么替代方案?
不好意思,在平板电脑上工作,但这里有一些伪代码:
app.directive('buttonMenu', function(){
return {
require: ['?dropdownButton', '?dropdownSplitButton'],
restrict: 'E',
link: function(scope, element, attrs, controllers){
if(!controllers[0] && !controllers[1])
//freak out
else
//scope things
能否将 AngularJS 指令设置为需要一个或另一个指令?
我正在创建两种类型的按钮,它们可以打开带有附加选项的菜单。
<dropdown-button>
</dropdown-button>
其行为类似于 Bootstrap 的下拉按钮。
还有一个...
<split-dropdown-button>
</split-dropdown-button>
这相当于拆分按钮的替代方案。
两者都需要一个菜单定义,这是以完全相同的方式完成的,所以我想创建一个(例如)button-menu
指令,它需要 dropdown-button
或 split-dropdown-button
.
这可能吗?
如果一个指令只能完全需要一个或多个,有什么替代方案?
不好意思,在平板电脑上工作,但这里有一些伪代码:
app.directive('buttonMenu', function(){
return {
require: ['?dropdownButton', '?dropdownSplitButton'],
restrict: 'E',
link: function(scope, element, attrs, controllers){
if(!controllers[0] && !controllers[1])
//freak out
else
//scope things