AngularJS push() error
AngularJS push() error
我正在开发的一个小AngularJS应用程序有问题。我主要是一个jQuery开发人员,所以请放轻松;)
我有一家工厂正在通过$http电话获取我的类别:
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; });
我的控制器创建一个范围,从我的工厂获取数据:
app.controller('loadCategories', function ($scope, simpleFactory) {
$scope.categories = [];
init();
function init() {
$scope.categories = simpleFactory.getCategories();
}
}(;
现在我有第二个范围,它是从我的视图(createCategory(((触发的,可以在我的分类中插入一个新项目。现在我想把这个新项目推到我现有的$scope.categories中。我试图这样做:
$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);
});
}
最后一个控制器也位于 loadCategory 控制器中。
问题:
当我尝试在我的 $scope.category 中推送((某些内容时,出现以下错误:
类型错误:对象 # 没有方法"push">
有谁知道为什么我会收到此错误?我做的事情是不正确的吗?
ajax 调用完成并触发成功回调,但 push(( 出现问题。
我只是在学习Angularjs,所以请耐心等待:)
$scope.categories = simpleFactory.getCategories()
返回承诺对象,但不返回数组。而承诺对象没有方法push()
。更改getCategories()
方法以返回数组。
Ph0en1x是正确的,你需要让promise执行,然后分配范围变量,如下所示:
simpleFactory.getCategories().then(function(data) {
$scope.categories = data;
});
我会更改 simpleFactory 以返回类别以允许分配。
相关文章:
- jQuery Error adadvisor.net
- NodeJS API调用中Array中的Push和Pull元素
- Ajax调用ERror Cross Origin REquest:在rails中自动完成大学列表
- 类型error primeFactors.for不是函数
- Array.every返回false,而不是类型error
- datatables.net ajax error - http://datatables.net/tn/7
- Error: timers.js:234 callback.apply(timer, args);
- 滚动到错误字段ERROR
- Error with xmlhttpresponse
- Push方法显示错误
- ajax javascript 500 error
- Array.push导致程序出错
- 将数据从ExpressJS发送到AngularJS ERROR json
- Firebase“;未捕获的类型错误:myDataRef.push不是函数;
- walkscore API JSON error
- $$hashKey在Angular中push()新对象时未生成新值
- AdSense Error with Joomla (adsbygoogle.push() error)
- AngularJS push() error
- Javascript .splice() and .push() error
- angular.js非get实例操作返回error: value.Push不是一个函数