Pregunta

Trabajando con AngularJS y Firebase escribiendo una función que se supone que debe verificar si el usuario actual se puede encontrar en la base de datos.En este momento, la propiedad "Asistencias" solo contiene un usuario y eso es "Peter Pan"

servicios / party.js

isAttending: function (party) {
      if (User.signedIn() && party.attendings) {
          console.log(User.getCurrent().username);   //Writes out: Peter Pan
          console.log(eve.attendings);               //Writes out: Peter Pan
          console.log(party.attendings.hasOwnProperty(
                 User.getCurrent().username);        //Writes out: false
      return party.attendings.hasOwnProperty(User.getCurrent().username);
    }
}

Peter Pan se almacenó cuando se creó el objeto de la fiesta:

var Party = {
  ..
  create: function (p) {
      ...
      party.attendings = user.username;
      ...
    }
}

El usuario se almacena a los "asistencias", pero ¿por qué no se ha encontrado la propiedad ()?

¿Fue útil?

Solución

Creo que está equivocado sobre cómo funciona HastownProperty.

haswowproperty devolverá si el objeto tiene una propiedad, en su caso, la parte tiene que las asistencias de la propiedad, por ejemplo, pero eso es todo lo que verificará, no verificará cuál será el valor de esta propiedad (en este caso PeterSartén).

Ahora, asumo que le gustaría que las asistentes seran una lista, en ese caso, debe encontrar un valor en una lista, hay varias formas, si puede usar jQuery, podría hacer algo así:

$.inArray( User.getCurrent().username, [ party.attendings ] );

Si no echa un vistazo a diferentes alternativas, simplemente googling para encontrar un valor en una matriz en JavaScript.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top