Tach!
ng-readonly hab ich schon probiert - das hatte keine Auswirkungen.
Das hatte ich auch nicht unbedingt erwartet. Das war nur ein Beispiel, wie Angular vorgeht, um ein Attribut zu setzen oder löschen.
Ein Attribut wegzunehmen bringt dich aber in dem Fall, denk ich mal, nicht ans Ziel. Du verwendest da eine Bibliothek namens angular-xeditable und das denkt gar nicht daran, mit dem weggenommenen Attribut die Funktionalität zu entfernen. Zumindest brachte das Entfernen mit den Entwicklertools nicht das gewünschte Ergebnis. Vielleicht sieht es anders aus, wenn man das in einem Digest-Zyklus macht. Das herauszufinden ist aber Aufwand, der sich möglicherweise gar nicht lohnt.
Ich hab einen anderen Vorschlag: Dupliziere das Element und entferne bei einem das editable-xxx-Attribut. Gib dem einen ng-show und dem anderen ng-hide nebst deiner Bedingung oder verwende ng-if (beachte die in der Dokumentation aufgeführten Unterschiede). Alternativ kannst du auch je einen Container für das ng-show/hide/if drumherumsetzen.
dedlfix.