我创建了一个需要特定属性的指令。
我可以检查链接函数中的属性值并抛出异常
虽然如果存在某种声明方式并且$compile
会像需要特定控制器时那样抛出异常,它会更好。
答案 0 :(得分:1)
在指令定义的compile
函数中检查并验证属性。这就是Angular的原生指令的构建方式,例如in the ng-repeat source。
compile: function ngRepeatCompile($element, $attr) {
var expression = $attr.ngRepeat;
var match = expression.match(...);
if (!match) {
throw ngRepeatMinErr(...);
}
}
答案 1 :(得分:0)
您可以随时检查您的指令是否存在属性:
link: function(scope, element, attrs) {
if (!scope.title) {
return false;//title attribute shouldn't be empty
}
},