【问题标题】:How to access AngularJS data returned as complex object (Pubnub)如何访问作为复杂对象返回的 AngularJS 数据(Pubnub)
【发布时间】:2017-05-13 18:58:06
【问题描述】:

我正在使用具有 $pubnubChannel 方法的第 3 方库 (Pubnub) 在控制器中加载数据,以便您轻松显示更新。

在控制器中你可以这样使用它:

$scope.messages = $pubnubChannel(myChannel,{ autoload: 2 });

然后在视图$scope.messages 将正确显示2 条消息。到目前为止,一切顺利。

但我想像这样直接访问控制器中的数据:

var myMessage = $scope.messages[0].content 但我不知道如何获取实际数据。

假设数据如下所示:

{ 
content:"Hi"
date:"2017-05-13T12:12:14.048Z"
id:"xyz123"
sender_guid:"12345678" 
}

如果我运行这个:

console.log($scope.messages)我看到一个复杂的对象:

> 0: Object
> 1: Object
> $$getPrototypeMethods:function ()
> $$getPublicMethods:function ()
> $$newMessage:function ()
> $channel:function()
etc
etc

$pubnubChannel 方法的所有函数都显示在输出中。

我想要的数据在Object 条目中。我试着像这样得到它:

var myMessage =  $scope.messages[0].content

但这不会返回任何东西。如何访问数据对象?

【问题讨论】:

    标签: javascript angularjs pubnub


    【解决方案1】:

    您的消息可能存储在 $messages 中。

    var myMessage = $scope.messages.$messages[0].content

    在源代码中找到它:https://github.com/pubnub/pubnub-angular/blob/master/src/pubnub_channel.js

    在第 47 行,您可以看到 this.$messages = []; 是 $pubnubChannel 工厂的一部分。

    【讨论】:

      猜你喜欢
      • 2020-03-21
      • 1970-01-01
      • 1970-01-01
      • 2021-01-21
      • 1970-01-01
      • 2017-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多