我有一个带有指令的page.html。我还有一个服务,我想用它作为指令和page.html控制器之间的事件管理器。
我是Angular的新手,所以我不知道我是否正确地接近了这一点。如果说我的控制器点击了一个按钮,我希望服务更新指令。我只是把指令作为我服务的依赖吗?
答案 0 :(得分:0)
没有。您必须在您的指令中注入您的服务。 该服务应该处理与您的服务器或严格的业务逻辑的通信,如果您有通信和业务逻辑,最好必须分成两个服务。 指令仅适用于可视化部分。
事件应该放入指令“链接”功能和可视化功能到“控制器”但记住。 Angular不是jQuery,所以很多像“click”这样的事件在角度上是过时的,我的意思是它们由控制器中的属性自动处理。
答案 1 :(得分:0)
这听起来像是一种很好的方法,并且通常是必要的,因为服务是单身人士和控制人员,而指令则不是。您将把服务注入到页面控制器的指令 AND 中。这样两者都可以作用于服务,服务可以充当两者之间的桥梁。
app.service("myService", function() {
//define your service
});
app.directive('myDirective', function (myMervice) {
return {
template: '...',
restrict: '...',
scope:true,
controller: function($scope) {
//you can use the service here
}
};
});
app.controller("myController", function($scope, myMervice) {
//you can use the service here
});