Имя директивы и имя атрибута конфликтуют
Я столкнулся с проблемой конфликтующих директив и имен атрибутов. Это упрощенная версия моей проблемы: есть две директивы, где имя первой директивы является именем атрибута второй директивы:
angular.module('mymodule').directive('property', function() {
return {
template: '<div>Property Directive</div>'
};
});
angular.module('mymodule').directive('fail', function() {
return {
scope: {
property: '='
},
template: '<div>{{property}}</div>'
}
});
Когда я пытаюсь добавить свою вторую директиву в HTML-файл:
<fail property="'test'"></fail>
Я получаю следующую ошибку:
Error: [$compile:multidir] Multiple directives [fail, property] asking for template on: <fail property="'test'">http://errors.angularjs.org/1.3.0-rc.4/$compile/multidir?p0=fail&p1=property&p2=template&p3=%3Cfail%20property%3D%22'test'%22%3E
Теперь, это не было бы проблемой, если бы обе директивы были в моих модулях, поскольку переименовать их было бы легко. Но у меня есть конфликтующие имена директив / атрибутов из разных внешних модулей, которые я использую в своем приложении.
Как я могу сказать угловой, что атрибутproperty
не является директивой в данном конкретном случае?