如何访问作为复杂对象返回的AngularJS数据(Pubnub)

时间:2017-05-13 18:58:07

标签: javascript angularjs pubnub

我正在使用具有: No such file or directory 方法的第三方库(Pubnub)来加载控制器中的数据,以便您可以轻松地显示更新。

在控制器中,您可以像这样使用它:

$pubnubChannel

然后在视图中$scope.messages = $pubnubChannel(myChannel,{ autoload: 2 });将正确显示2条消息。到目前为止,非常好。

但我想直接访问控制器中的数据,如下所示:

$scope.messages但我无法弄清楚如何获取实际数据。

假设数据如下:

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

如果我这样做:

{ content:"Hi" date:"2017-05-13T12:12:14.048Z" id:"xyz123" sender_guid:"12345678" } 我看到一个复杂的对象:

console.log($scope.messages)

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

我想要的数据在> 0: Object > 1: Object > $$getPrototypeMethods:function () > $$getPublicMethods:function () > $$newMessage:function () > $channel:function() etc etc 条目中。我试着这样做:

Object

但这不会返回任何内容。如何到达数据对象?

1 个答案:

答案 0 :(得分:1)

您的邮件可能存储在 $ messages

-Dcom.sun.management.jmxremote.rmi.port=9090 -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=9090 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.local.only=false -Djava.rmi.server.hostname=localhost

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

在第47行,您可以看到$ pubnubChannel工厂的var myMessage = $scope.messages.$messages[0].content部分。