Я пытаюсь написать директиву, которая переключает классы на основе условия выбора:
<label class-when="{'is-checked': ':has(input:checked)', 'is-disabled': ':has(input:disabled)'}">
<input type="checkbox">
Example checkbox
</label>
Мне нужно как-то посмотреть изменения DOM на элементе и его потомках, но я получаю ng:areq
error. Как я могу это сделать?
define(function (require) {
var _ = require('lodash');
return {
restrict: 'A',
scope: {
object: '@classWhen'
},
link: function (scope, element) {
scope.$watchCollection(function() {
return element.find('*').add(element);
}, function () {
_.forOwn(scope.object, function (test, classes) {
test = typeof test === 'boolean' ? test : element.is(test);
element.toggleClass(classes, test);
});
});
}
};
});