我创建了一个服务来隔离业务逻辑,并将其注入需要信息的控制器中。我最终要做的是让控制器能够监视服务中的值,这样我就不必进行广播/通知或复杂的消息传递解决方案,就可以将所有控制器的数据更改通知给控制器。服务。
我创建了一个plnkr,展示了我要执行的操作的基本概念。
http://plnkr.co/edit/oL6AhHq2BBeGCLhAHX0K?p=preview
可以让控制器监视服务的值吗?
您已经做对了。即,将服务推送到范围变量中,然后将服务作为范围变量的一部分进行观察。
这是适合您的解决方案:
http://plnkr.co/edit/SgA0ztPVPxTkA0wfS1HU?p=preview
HTML
<!doctype html>
<html ng-app="plunker" >
<head>
<meta charset="utf-8">
<title>AngularJS Plunker</title>
<script>document.write('<base href="' + document.location + '" />');</script>
<link rel="stylesheet" href="style.css">
<script src="http://code.angularjs.org/1.1.3/angular.js"></script>
<script src="app.js"></script>
</head>
<body ng-controller="MainCtrl">
<button ng-click="start()">Start Count</button>
<button ng-click="stop()">Stop Count</button>
ControllerData: {{controllerData}}
</body>
</html>
Javascript:
var app = angular.module('plunker', []);
app.service('myService', function($rootScope) {
var data = 0;
var id = 0;
var increment = function() {
data = data + 1;
$rootScope.$apply();
console.log("Incrementing data", data);
};
this.start = function() {
id = setInterval(increment, 500) ;
};
this.stop = function() {
clearInterval(id);
};
this.getData = function() { return data; };
}).controller('MainCtrl', function($scope, myService) {
$scope.service = myService;
$scope.controllerData = 0;
$scope.start = function() {
myService.start();
};
$scope.stop = function() {
myService.stop();
};
$scope.$watch('service.getData()', function(newVal) {
console.log("New Data", newVal);
$scope.controllerData = newVal;
});
});
这是您错过的一些东西:
问题内容: 我正在尝试监视控制器中服务的更改。我在这里基于stackoverflow的许多qns尝试了各种方法,但是我一直无法使其工作。 的HTML: javascript: 如何使手表在控制器中触发? jsfiddle 问题答案: 尝试通过这种方式写: 演示版 [编辑] 有时,这种方式将不起作用,特别是如果服务已从3d party更新。 为了使其工作,我们必须 帮助 调整点火消化周期。 这是一个
微服务治理的一个核心需求便是服务可观察性。作为微服务的牧羊人,要做到时刻掌握各项服务的健康状态,并非易事。云原生时代这一领域内涌现出了诸多解决方案。本组件对可观察性当中的重要支柱遥测与监控进行了抽象,方便使用者与既有基础设施快速结合,同时避免供应商锁定。 安装 通过 Composer 安装组件 composer require hyperf/metric hyperf/metric 组件默认安装
1.1、什么是监控服务 监控服务(Monitor Service),是指对直播视频流的实时监控。目睹云提供的监控服务能够支持对rtmp、flv、hls等大多数直播流进行即时监控,并且渲染成图表。监控服务主要监控的是直播视频的帧率和码率信息,这样能够及时的反映出来视频流的卡顿流畅情况。 1.2、监控服务功能介绍 支持多种流监控:支持rtmp、flv、hls等多种直播视频协议流监控 历史监控数据:支持
问题内容: 我正在尝试从指令内部监视控制器的角度。 小提琴:http : //jsfiddle.net/dkrotts/TfTr5/5/ 照原样,$ watch函数不能从控制器内部捕获2秒后完成的模型更改。我想念什么? 问题答案: 接受要在作用域中监视的属性的“名称”,即要求它监视值。现在将其更改为观看返回“ bar”的手表。您可以按原样或使用的方式获取值,就像再次说出的那样,与相同。 为了澄清u
注意 许多监视器特性只在Neo4j服务器高级版和企业版才可以使用。 为了能获取Neo4j数据库的健康状况,可以采用不同级别的监控等级。这些功能一般都是通过 JMX呈现出来。 25.1. 调整远程JMX访问Neo4j的服务器 默认情况下,Neo4j高级版和企业版都不允许远程的JMX连接,因为在 conf/neo4j-wrapper.conf配置文件中的相关配置是被注释掉了的。为了启用该功能, 你必须
My roommate lost his pet elephant. It’s in the apartment somewhere. — Steven Wright 我们无法持续关注所有的一切。问题是:你怎么知道一台服务器何时会出现故障呢? 错误的答案是,“我的客户打电话给我,告诉我服务器宕机了。” 但是,你会惊奇地发现,许多组织的系统没有任何的自动监控。自动监控的设置非常简单。 目前有许多优秀