AngularJS directive besoin de regarder deux propriétés

Je suis en train de faire un jeu Angulaire. Chaque joueur de l'objet a une x et un y de la propriété. Chaque fois que le joueur se déplace, je veux démarrer une minuterie qui parcourt un couple d'arrière-plan des postes dans la feuille sprite.

Je pensais le faire avec une directive. Le problème est que les directives normalement vous permettent de définir une expression à regarder:

//"test" directive
module.directive("test", function() {
  return function(scope, element, attrs) {
    scope.$watch(attrs.test, function(value) {
      //do something when it changes
    })
  }
})

//my template
<div test="name"/>

La bonne chose à propos de cette approche, est la test la directive n'a pas à assumer la portée a une propriété en particulier. Vous avez dit ce qu'il a à utiliser lorsque vous utilisez la directive.

Le problème est que dans mon cas, j'ai besoin de coup de pied quelque chose si x OU y change. Comment puis-je faire cela?

<div test="player.x, player.y"/>
<div test="player.x" test-two="player.y"/>

Est-il un meilleur moyen de faire ce que vous pouvez penser? Fondamentalement, je veux faire une directive qui fait quelque chose sur une minuterie si l'un de plusieurs propriétés de changement.

Notez que je ne sais que vous pouvez passer une fonction en application.$regarder, et revenir à quelque chose de personnalisé, mais cette question est plus sur la façon dont je raconte la directive quoi faire dans la fonction lorsque je la lie.

OriginalL'auteur Sean Clark Hess | 2012-11-11