angularjs deux directives sur l'un des éléments

J'ai deux directives:

//Generated by CoffeeScript 1.6.3
app.directive("focusMe", function() {
  return {
    scope: {
      focus: "=focusMe"
    },
    link: function(scope, element) {
      return scope.$watch("focus", function(value) {
        if (value === true) {
          element[0].focus();
          return scope.focus = false;
        }
      });
    }
  };
});

et:

//Generated by CoffeeScript 1.6.3
app.directive("cleanMe", function() {
  return {
    scope: {
      clean: "=cleanMe"
    },
    link: function(scope, element) {
      return scope.$watch("clean", function(value) {
        if (value === true) {
          element[0].value = "";
          return scope.clean = false;
        }
      });
    }
  };
});

et cette entrée (angularUI):

<input type="text" ng-model="addUserSelected" typeahead="emp.value for emp in allUsers | filter:$viewValue | limitTo:5" typeahead-editable="false" typeahead-on-select="addLine($item.id)" focus-me="usersFocusInput" clean-me="usersCleanInput">

J'obtiens cette erreur:

Error: [$compile:multidir] http://errors.angularjs.org/1.2.3/$compile/multidir?p0=cleanMe&p1=focusMe&p…2%20focus-me%3D%22usersFocusInput%22%20clean-me%3D%22usersCleanInput%22%3E

que dois-je faire de mal?

Si je supprime le nettoyer-moi bien de le html, il fonctionne.

Grâce

  • pourquoi ne pas vous venez de mettre à zéro le modèle que ng-model est lié? Je soupçonne que vous n'avez pas besoin cleanMe directive
  • cleanMe est pas au point, il peut y avoir 2 (ou plus) des directives. nettoyez-moi et le moi, c'est juste pour l'exemple.
InformationsquelleAutor Noampz | 2013-12-09