AngularJS中的数据未更新

时间:2015-03-21 04:33:16

标签: angularjs ionic-framework

我正在使用Ionic的网络应用程序。在这里,我在menu.html中有一个按钮,单击该按钮会导致controllers.js中的一个函数将newData添加到" data"在appApi.js文件中,但我收到一个错误。有人可以看看吗? 这是menu.html和controllers.html中的代码:http://pastebin.com/GW0h2G3P,这里是appApi.js:http://pastebin.com/jbqqUbCP

谢谢!

2 个答案:

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