在尝试在整个应用程序中显示用户特定数据时,如何最大限度地减少Firebase资源的使用?

时间:2013-10-21 21:20:59

标签: angularjs firebase

我正在开发一个角度应用程序,使用Firebase进行持久化。我在页面上有多个位置,每个位置都显示用户特定信息(即个人资料图片,当前登录状态等)。

我正在努力想出一个“好”的解决方案,这将使我能够接受3路数据数据绑定,并保持适当的关注点分离。

对于我的问题的一个非常具体的例子。我有一个HeaderMessagesCtrl,它从/ users / x / messages中的firebase中提取消息列表。包含fromUserId的消息绑定到$ scope.messages;

我有一个对消息集合执行ng-repeat的角度视图,对于每一行,我想使用fromUserId来确定用户的登录状态,profilePicUri等。

http://jsfiddle.net/brkAq/5/

function HeaderMessagesCtrl($scope, $timeout) {
  $scope.messages = [
    {fromUserId: 1},
    {fromUserId: 2}
  ]; 

  $timeout(function(){
    $scope.messages.push({fromUserId: 3});
  }, 1500);    
}

上面的小提示显示了一个样本集合,然后在以后进行修改。希望这有助于提供示例解决方案。

提前致谢。

修改

我被要求提出一个模式,所以下面首先想到的是。

我在考虑在scope变量上创建一个监视器,它包含firebase将要更新的数组。该手表将联系UserService以获取profilePicUri,从而创建一个更像是视图模型的范围数组,而不是firebase中数据的精确副本。

另一种选择是创建一个用户配置文件框小部件,你可以提供用户ID,它会从UserService中找出uri,并使用这些细节来制作小部件html等。

无论哪种方式,我的斗争都是火山基地的“无关系”性质。

0 个答案:

没有答案