Javascript 如何将array.push从内部PubNub函数推送到角度范围?

Javascript 如何将array.push从内部PubNub函数推送到角度范围?,javascript,angularjs,nested,pubnub,nested-function,Javascript,Angularjs,Nested,Pubnub,Nested Function,我的HTML ng-app和ng-controller在前面的标记中指定 <div class="statusEntry" ng-repeat="statusInput in statusInputs"> <span class="userName"> a </span> <span class="statusMsg"> b </span> </div>

我的HTML

ng-app
ng-controller
在前面的标记中指定

<div class="statusEntry" ng-repeat="statusInput in statusInputs">
 <span class="userName"> a </span>                
 <span  class="statusMsg"> b </span>                
</div>
推送数据时,不会出现新对象。 Angular无法获取数据,即使我使用
$scope
预先添加了
statusInputs


看起来我需要将数据从嵌套函数传递到根作用域,我不知道如何进行。

当您第一次到达控制器时初始化数组:

$scope.statusInputs = [];
在回调函数中更改:

statusInputs.push(prepData);


基本上,您是在您的作用域上声明一个数组,UI将使用该数组,然后在每次回调时,您都会将项目附加到绑定的数组中。

当您第一次到达控制器时,初始化数组:

$scope.statusInputs = [];
在回调函数中更改:

statusInputs.push(prepData);


基本上,您是在您的作用域上声明一个数组,UI将使用该数组,然后在每次回调时将项目追加到绑定的数组中。

试试angular。extend($scope,MYService)试试angular。extend($scope,MYService)谢谢,这确实正确地推送了数据。您是否知道为什么新对象不是立即出现,而是在我在
输入中键入一个字母后出现?我需要以某种方式刷新吗?我假设pubnub与w/angular无关,因此这种更改不会触发摘要周期。在push调用之后,添加对$scope的调用。$apply()谢谢,这确实正确地推送了数据。您是否知道为什么新对象不是立即出现,而是在我在
输入中键入一个字母后出现?我需要以某种方式刷新吗?我假设pubnub与w/angular无关,因此这种更改不会触发摘要周期。在push调用之后,添加对$scope的调用。$apply()