我有一个角度应用程序,我想在使用角度服务的控制器之间保留一些值
这是我的基本控制器:
(function () {
var app = angular.module("MyApp", ["ui.router"]);
app.controller("BaseCtrl", ["$scope", "$http", "$state", BaseControllerFunc]);
function BaseControllerFunc($scope, $http, $state) {
....
}
})();
现在我想添加一个我可以在以后填充键值对数据的服务。所以我尝试添加以下内容:
app.service("DataService", function () {
var data_item = {};
data_item.Key =MyKey;
data_item.Value=MyValue;
this.MyData.push(data_item);
});
现在看起来像这样:
(function () {
var app = angular.module("MyApp", ["ui.router"]);
app.controller("BaseCtrl", ["$scope", "$http", "$state", BaseControllerFunc]);
function BaseControllerFunc($scope, $http, $state) {
....
}
app.service("DataService", function () {
var data_item = {};
data_item.Key =MyKey;
data_item.Value=MyValue;
this.MyData.push(data_item);
});
})();
我在这里被困住了。我如何将值(MyKey和MyValue)注入我的服务?我是Angular的新手,所以这很难实现
答案 0 :(得分:0)
将其更改为
app.service("DataService", function () {
var data_item = {};
return{
function somename(MyKey,MyValue){
data_item.Key =MyKey;
data_item.Value=MyValue;
this.MyData.push(data_item);
}
}
});
并从控制器中将其命名为
DataDervice.somename(MyKey,MyValue)
答案 1 :(得分:0)
尝试添加处理数据的功能。
app.service("DataService", function () {
var myData = [];
function addItem(key, value){
var data_item = {Key: key, Value: value);
myData.push(data_item);
}
function getData(){
return myData;
}
return {
add: addItem,
get: getData
}
});
在你的控制器中,像
一样使用它DataService.add('key', 'value');
DataService.get();