说我有一个名为指令“myDirective”。 我怎么能要求该指令的所有实例都必须对他们有特定的属性,如波纹管:
<div data-my-directive data-my-variable='blue'></div>
说我有一个名为指令“myDirective”。 我怎么能要求该指令的所有实例都必须对他们有特定的属性,如波纹管:
<div data-my-directive data-my-variable='blue'></div>
我不知道,你可以直接需要的属性,但你可以检查如果提供了值,并抛出一个异常,如果不。 例如,从NG-重复:
link: function($scope, $element, $attr, ctrl, $transclude){
var expression = $attr.ngRepeat;
var match = expression.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+track\s+by\s+([\s\S]+?))?\s*$/),
trackByExp, trackByExpGetter, trackByIdExpFn, trackByIdArrayFn, trackByIdObjFn,
lhs, rhs, valueIdentifier, keyIdentifier,
hashFnLocals = {$id: hashKey};
if (!match) {
throw ngRepeatMinErr('iexp', "Expected expression in form of '_item_ in _collection_[ track by _id_]' but got '{0}'.",
expression);
}
}
我认为要做到这一点的最好办法是检查的属性,看看是否“MYVARIABLE”存在,如果它不抛出一个异常,但如果你必须要求在指令中定义的唯一的办法就是让MYVARIABLE另一个指令和使用要求:在原有指令如myDirective“MYVARIABLE”。