我正在使用Ionic的网络应用程序。在这里,我在menu.html中有一个按钮,单击该按钮会导致controllers.js中的一个函数将newData添加到" data"在appApi.js文件中,但我收到一个错误。有人可以看看吗? 这是menu.html和controllers.html中的代码:http://pastebin.com/GW0h2G3P,这里是appApi.js:http://pastebin.com/jbqqUbCP
谢谢!
答案 0 :(得分:0)
在appapi
服务中
var addData = function(newData) {
data[data.length] = newData;
}
return {
getData: getData
};
addData
是私有的。它没有曝光。
在你的控制器中: 您正在尝试访问不可用的addData。
$scope.add = function() {
appApi.addData($scope.newData);
}
要解决此问题:将addData
添加到服务中的返回对象
var addData = function(newData){ data [data.length] = newData; }
return {
getData: getData,
addData : addData
};
答案 1 :(得分:0)
我想知道您是如何忘记将adddata添加到返回对象的。
你的工厂应该是这样的,
testApp.factory('appApi', function() {
var data = [{
"fName": "Starbucks",
"id": 1,
}];
var getData = function() {
return data;
}
var addData = function(newData) {
data[data.length] = newData;
}
return {
getData: getData,
addData : addData
};
});
这是工作Plnker