使用异步数据进行角度ng-show

时间:2017-04-17 23:24:02

标签: javascript angularjs

我现在正在使用Mean堆栈来实现一个喜欢/不喜欢的按钮。我让后端正常工作,并试图弄清楚如何有条件地显示正确的按钮。有一个最喜欢和不喜欢的按钮,使用ng-show基于特定帖子(收藏的东西)是否已经被用户收藏。问题是Angular不会在数据库检查此用户是否已经收到此帖子时等待,因此应显示不受欢迎的按钮。我已经弄乱了$ q和其他异步选项,但我对我的理解并不是很有信心。以下是相关代码:

app.isFavorited = $q.defer();
if(Auth.isLoggedIn()) {
  app.isLoggedIn = true;
  Auth.getUser().then(function (data) {
    postObject.username = data.data.username;
    if(data.data.favorites.length == 0) {
      app.isFavorited.resolve(false);
      app.load = true;
    }
    for(var i = 0; i < data.data.favorites.length; i++) {
      if(id == data.data.favorites[i]) {
        app.isFavorited.resolve(true)
        app.load = true;
        break;
      }
      if(i == data.data.favorites.length - 1) {
        app.isFavorited.resolve(false);
        app.load = true;
      }
    }

  });
}
else {
  app.isLoggedIn = false;
  app.load = true;
}

第55行在获取ng-show中使用的值之前执行:

line 55 executes before those which get the values used in ng-show

0 个答案:

没有答案