на самом деле не совсем понятно, как работать с директивам, но у меня сложилось такое впечатление
1) изменять данные компонента в директиве плохо, потому что нарушается data-way, сложно отследить что вообще происходит с компонентом и в dev-tools директивы никак не дебажатся
2) директива работает напрямую с dom элементом, а не с компонентом, т.е. подразумевая, что вы не должны изменять данные компонента из вне, но вы можете кастомизировать html, типа добавлить классы или всякие эффекты
3) баг с добавлением классов
проблема в том, что если изменится класс в компоненте, то через директиву уже не получится снова повесить класс,
el.classList.add('white'); будет игнорироваться,
демка