与服务的角度控制器的通信 [英] angular controller communication with a service
本文介绍了与服务的角度控制器的通信的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想与相互通信控制器。
VAR模块= angular.module(应用程序,[]);module.service(MessageAggregator功能(){
变种服务= {}; service.message = {}; service.setMessage =功能(消息){
service.message =消息;
}; 退换货服务;
}); 功能firstController($范围,MessageAggregator){
$ scope.sendRequest =功能(){
MessageAggregator.setMessage({类型:的FeatureSet});
};
} 功能secondController($范围,MessageAggregator){
$ scope.info = MessageAggregator;
$ scope.message = MessageAggregator.message;
}
我想在HTML视图中使用MessageAggregator服务数据。
< DIV NG-应用=应用程序>
< DIV NG控制器=firstController>
<按钮NG点击=sendRequest将()>请求< /按钮>
< / DIV>
<小时/>
< DIV NG控制器=secondController>
< H3>信息:{{资讯}}< / H3 GT&;
&所述; H3>消息:{{消息}}&下; / H3>
< / DIV>
< / DIV>
工作code是这里的jsfiddle
< H3>消息:{{}信息}< / H3 GT&;不填充和工作
< H3>信息:{{资讯}}< / H3 GT&;工作中
解决方案
您应该让您的控制器模块中
module.controller(firstController功能($范围,MessageAggregator){
$ scope.sendRequest =功能(){
MessageAggregator.setMessage({类型:的FeatureSet});
};
});module.controller(secondController功能($范围,MessageAggregator){
$ scope.info = MessageAggregator;
$ scope.message = MessageAggregator.message;
});
I want to communicate controllers with another.
var module = angular.module("app", []);
module.service("MessageAggregator", function(){
var service = {};
service.message = {};
service.setMessage = function(message){
service.message = message;
};
return service;
});
function firstController($scope, MessageAggregator){
$scope.sendRequest = function(){
MessageAggregator.setMessage({type: "FeatureSet"});
};
}
function secondController($scope, MessageAggregator){
$scope.info = MessageAggregator;
$scope.message = MessageAggregator.message;
}
I want to use MessageAggregator service data in html view.
<div ng-app="app">
<div ng-controller="firstController">
<button ng-click="sendRequest()">Request</button>
</div>
<hr/>
<div ng-controller="secondController">
<h3>info: {{info}}</h3>
<h3>message: {{message}}</h3>
</div>
</div>
Working code is here jsfiddle
<h3>message: {{message}}</h3> not populated and working
<h3>info: {{info}}</h3> is working
解决方案
You should make your controller in your module
module.controller("firstController", function($scope, MessageAggregator){
$scope.sendRequest = function(){
MessageAggregator.setMessage({type: "FeatureSet"});
};
});
module.controller("secondController", function($scope, MessageAggregator){
$scope.info = MessageAggregator;
$scope.message = MessageAggregator.message;
});
这篇关于与服务的角度控制器的通信的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文