Javascript 如何在angular.js中将实时模型附加到控制器?
我将展示几个视图/控制器,其中的数据来自仪表板的实时json(带有pubnub) 在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
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;
}
});
}