从服务器接收信息后将数据从控制器传递到服务
Pass Data to Service from Controller AFTER receiving info from Server
从服务器获取数据后,我需要将数据传递给服务中的数组。 controller
运行函数来检索数据,如图
.controller("messagesController", function($scope, $stateParams, RegisterP) {
// function here retrives data from the RegisterP parameter above calling another service
$scope.messagepool = [ 1, 2]; //I add the data I get here to an array
})
然后这个数组被发送到服务
.service('ChatService', function() {
return {
chats: [
{
id: "1",
message: "Chat Message 1"
}
],
getChats: function() {
return this.chats;
},
getChat: function(chatId) {
for(i=0;i<this.chats.length;i++){
if(this.chats[i].id == chatId){
return this.chats[i];
}
}
}
}
})
然后将其发送到 view/views。我需要知道如何从控制器发送信息,以便它占用 chats: []
,以便实时更新视图。使用离子框架。
奖励:我还没有研究过让控制器中的 get 函数不断轮询传入的消息,但是如果你能告诉我它会有所帮助并节省时间。
控制器
.controller("messagesController", function($scope, $stateParams, RegisterP,ChatService) {
// function here retrives data from the RegisterP parameter above calling another service
$scope.messagepool = [ 1, 2]; //I add the data I get here to an array
ChatService.sendData($scope.messagepool);
});
服务
.service('ChatService', function() {
return {
sendData:function(data){
this.chatData=data;
console.log(this.chatData);
// this.getChats(); you can call service function from here
},
getChats: function() {
console.log(this.chatData); // it will work here too
return this.chats;
},
getChat: function(chatId) {
for(i=0;i<this.chats.length;i++){
if(this.chats[i].id == chatId){
return this.chats[i];
}
}
}
}
});
希望对您有所帮助 :) 谢谢
从服务器获取数据后,我需要将数据传递给服务中的数组。 controller
运行函数来检索数据,如图
.controller("messagesController", function($scope, $stateParams, RegisterP) {
// function here retrives data from the RegisterP parameter above calling another service
$scope.messagepool = [ 1, 2]; //I add the data I get here to an array
})
然后这个数组被发送到服务
.service('ChatService', function() {
return {
chats: [
{
id: "1",
message: "Chat Message 1"
}
],
getChats: function() {
return this.chats;
},
getChat: function(chatId) {
for(i=0;i<this.chats.length;i++){
if(this.chats[i].id == chatId){
return this.chats[i];
}
}
}
}
})
然后将其发送到 view/views。我需要知道如何从控制器发送信息,以便它占用 chats: []
,以便实时更新视图。使用离子框架。
奖励:我还没有研究过让控制器中的 get 函数不断轮询传入的消息,但是如果你能告诉我它会有所帮助并节省时间。
控制器
.controller("messagesController", function($scope, $stateParams, RegisterP,ChatService) {
// function here retrives data from the RegisterP parameter above calling another service
$scope.messagepool = [ 1, 2]; //I add the data I get here to an array
ChatService.sendData($scope.messagepool);
});
服务
.service('ChatService', function() {
return {
sendData:function(data){
this.chatData=data;
console.log(this.chatData);
// this.getChats(); you can call service function from here
},
getChats: function() {
console.log(this.chatData); // it will work here too
return this.chats;
},
getChat: function(chatId) {
for(i=0;i<this.chats.length;i++){
if(this.chats[i].id == chatId){
return this.chats[i];
}
}
}
}
});
希望对您有所帮助 :) 谢谢