首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AngularJS push()错误

AngularJS push()错误
EN

Stack Overflow用户
提问于 2013-10-07 17:02:17
回答 2查看 898关注 0票数 1

我正在开发的一个小AngularJS应用程序有问题。我主要是jQuery开发人员。所以对我放轻松点;)

我有一家工厂正在通过$http调用获取我的类别:

代码语言:javascript
复制
app.factory('simpleFactory', function($http, $routeParams) {
var categories = [];
var factory = {};

factory.getCategories = function() {
    return $http({
        url: '/system/getlist/',
        data: { id : pageID },
        method: "POST",
    })
    .success(function(addData) {
        categories = addData;
    });
}

return factory; });

我的控制器创建一个范围,从我的工厂获取数据:

代码语言:javascript
复制
app.controller('loadCategories', function ($scope, simpleFactory) {
$scope.categories = [];
init();

function init() {
    $scope.categories = simpleFactory.getCategories();
}

});

现在,我有了第二个作用域,它是从我的视图(createCategory())中触发的,用于在我的cateogories中插入一个新的项。现在,我想将这个新项目插入到我现有的$scope.categories中。我试着这样做:

代码语言:javascript
复制
$scope.createCategory = function(cat,catName,catLvl,catType) {
    var catName = catName;
    var parentID = cat.id;

    $http({
        url: '/system/createcategory/',
        data: { catName : catName, parentID : parentID, pageID: pageID, catLvl: catLvl, catType: catType },
        method: "POST",
    })
    .success(function(addData) {
        $scope.categories.push(addData); 

    }); 
}

最后一个控制器也存在于loadCategories控制器中。

问题:

当我试图将()东西推到我的$scope.categories中时,我会得到以下错误:

TypeError: Object #没有“push”方法

有人知道我为什么会犯这个错误吗?我做的事情不对吗?

ajax调用完成,成功回调被触发,但是push()出现了问题。

我只是在学安古拉杰,所以请耐心点

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-07 17:06:10

代码语言:javascript
复制
$scope.categories = simpleFactory.getCategories()

返回承诺对象,但不返回数组。并且承诺对象没有方法push()。更改getCategories()方法以返回数组。

票数 3
EN

Stack Overflow用户

发布于 2013-10-07 17:06:46

Ph0en1x是正确的,您需要让承诺执行,然后分配范围变量如下:

代码语言:javascript
复制
simpleFactory.getCategories().then(function(data) {
  $scope.categories = data;
});

我将更改simpleFactory以将类别返回到允许赋值。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19230595

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档