我编写了以下Angular指令,该指令将向所有子代添加“必需”属性:
.directive("requireall", function($compile) { return { restrict: 'A', //only want it triggered for attributes compile: function(element, scope) { // Prevent infinite loop on compile element.removeAttr("requireall"); var allChildren = element.find('*'); allChildren.attr('required', 'required'); $compile(element)(scope); } } });
我真的很想称它为“ require-all”,但是如果我重命名它,它将不再起作用。为什么“ requireall”有效而“ require-all”无效?
Angular将camelCasing转换为snake- casing,因此您的requireall指令需要重命名为requireAll,然后可以require-all在标记中使用(或者data- require-all如果要正确标记自定义标记)。一开始让我感到困惑。
requireAll
require-all
data- require-all