使用AngularJS和Firebase编写一个应该检查函物者是否可以在数据库中找到的函数。现在房产“参加”只包含一个用户,这是“彼得潘”

服务/ 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:

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

用户透明地存储在“参加”中,但为什么不会出现()找到它?

有帮助吗?

解决方案

我认为你被误认为是Hastownerty的作品。

hasownproperty将返回如果对象具有属性,请在您的情况下,方有一个属性参加,但这就是它将检查,它不会检查此属性的值(在本案中彼得平底锅)。

现在,我假设您希望参加参加列表,在这种情况下,您需要在列表中找到一个值,有多种方式,如果可以使用jQuery,您可以做一些如下:

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

如果您没有,请查看刚刚忘记的不同替代方案,以在JavaScript中找到一个数组中的值。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top