gpt4 book ai didi

javascript - Angular Controller 与服务的通信

转载 作者:行者123 更新时间:2023-11-28 19:42:24 25 4
gpt4 key购买 nike

我想与另一个 Controller 进行通信。

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;
}

我想在 html View 中使用 MessageAggregator 服务数据。

<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>

工作代码是 here jsfiddle

<h3>message: {{message}}</h3>  not populated and working
<h3>info: {{info}}</h3> is working

最佳答案

您应该在模块中创建 Controller

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;
});

关于javascript - Angular Controller 与服务的通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24842597/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com