Javascript 如何在angular.js中将实时模型附加到控制器?

Javascript 如何在angular.js中将实时模型附加到控制器?,javascript,model-view-controller,angularjs,dashboard,pubnub,Javascript,Model View Controller,Angularjs,Dashboard,Pubnub,我将展示几个视图/控制器,其中的数据来自仪表板的实时json(带有pubnub) 在angular.js常规文档中,我看到如下内容: function CounterCtrl($scope) { $scope.data = {'counter':1}; }; 但我想要的是有一个数据源列表,然后用数据的更改通知视图并呈现它们 因此,我可以: counter1:{'counter':1} => Rendered by view1 and view2 counter2:{'counte

我将展示几个视图/控制器,其中的数据来自仪表板的实时json(带有pubnub)

在angular.js常规文档中,我看到如下内容:

function CounterCtrl($scope) {
    $scope.data = {'counter':1};
};
但我想要的是有一个数据源列表,然后用数据的更改通知视图并呈现它们

因此,我可以:

counter1:{'counter':1} => Rendered by view1 and view2
counter2:{'counter':5} => Rendered by view3
view4还没有数据。几分钟后就到了

counter3:{'counter':8} => Rendered by view4
然后更新计数器1

counter1:{'counter':2} 
我按每种视图类型创建一个控制器,有些视图可以是同一个控制器,但显示不同的数据:

view1 & view3 are UpDownCtrl
view2 is LineGraphCtrl
在仪表板中,我需要更新视图,并根据数据(或缺少数据,以显示空状态)更改行为


p.D:我愿意在另一个js框架中做这件事,如果它是为这种任务量身定做的…

我也在使用PubNub,并且已经在我的AngularJS应用程序中启动了一个非常基本的PubNub服务

服务(正在进行的工作):

一个(多个)控制器:

var ProjectController = function($scope, pubnub) {

    $scope.$on('pubnubMessageReceived', function(event, message) {
        console.log("pubnub message received in project controller",message);
        if(message.target == "project") {
            // The message is for me!! Do something with it
            $scope.data = message.data;
        }
    });
}

所以我有一个服务监听PubNub消息并通过$rootScope广播它们,然后让任何控制器监听这些消息就很简单了。一旦您在控制器中收到消息,请修改$scope,它将自动更新您的视图。

创建角度
服务
以在控制器之间共享数据我阅读了文档,我理解这是为了向控制器提供通用功能。但我不知道如何将模型映射到多个控制器,正如在这个问题中所述。试试这个视频
var ProjectController = function($scope, pubnub) {

    $scope.$on('pubnubMessageReceived', function(event, message) {
        console.log("pubnub message received in project controller",message);
        if(message.target == "project") {
            // The message is for me!! Do something with it
            $scope.data = message.data;
        }
    });
}