Angularjs - 查询 parse.com $stateParams
Angularjs - query parse.com $stateParams
我在 Angularjs 中寻求对使用 $stateParams 的查询的支持。查询返回未定义。
我在新闻提要中有一系列照片。单击一张照片会将您带到该照片的新页面。我在下面试图首先在网络 google 开发工具选项卡中吐出照片 ID。
环境:angularjs,javascript 解析 api
使用 promises/factory/controller/view
路线
.state(‘gallery.item', {
url: '/item/:galleryid',
views: {
menuContent: {
controller: 'ItemController as vm',
templateUrl: path + ‘/galleryitem/item.html'
}
}
})
工厂 - 解析查询
function getFirst(Class, term1, term2){
var defer = $q.defer();
var ParseString = Parse.Object.extend(Class);
var query = new Parse.Query(ParseString);
query.equalTo(term1, term2);
if(Class==='Gallery') {
query.equalTo('approve', true);
query.ascending('createdAt');
}
query
.first()
.then(function(resp){
console.log('getFirst', resp);
if (resp === undefined) {
defer.reject(resp);
} else {
defer.resolve(resp);
}
});
return defer.promise;
}
return {
getFirst: getFirst
}
物品控制器
function ItemController($scope, $state, $rootScope, $stateParams, Factory) {
var vm = this;
getItemDetails();
function getItemDetails() {
vm.Gallery = [];
Factory
.getFirst('Gallery', 'objectId', $stateParams.id)
.then(function(resp) {
vm.GalleryData = response;
console.log(resp);
vm.Gallery.push({
id: resp.id,
});
});
如有任何帮助,我们将不胜感激。
谢谢
卡梅隆
在您的路由配置中您使用 url: '/item/:galleryid',
但在控制器中您正在寻找 $stateParams.id
与路由配置不匹配
改为$stateParams.galleryid
我在 Angularjs 中寻求对使用 $stateParams 的查询的支持。查询返回未定义。
我在新闻提要中有一系列照片。单击一张照片会将您带到该照片的新页面。我在下面试图首先在网络 google 开发工具选项卡中吐出照片 ID。
环境:angularjs,javascript 解析 api 使用 promises/factory/controller/view
路线
.state(‘gallery.item', {
url: '/item/:galleryid',
views: {
menuContent: {
controller: 'ItemController as vm',
templateUrl: path + ‘/galleryitem/item.html'
}
}
})
工厂 - 解析查询
function getFirst(Class, term1, term2){
var defer = $q.defer();
var ParseString = Parse.Object.extend(Class);
var query = new Parse.Query(ParseString);
query.equalTo(term1, term2);
if(Class==='Gallery') {
query.equalTo('approve', true);
query.ascending('createdAt');
}
query
.first()
.then(function(resp){
console.log('getFirst', resp);
if (resp === undefined) {
defer.reject(resp);
} else {
defer.resolve(resp);
}
});
return defer.promise;
}
return {
getFirst: getFirst
}
物品控制器
function ItemController($scope, $state, $rootScope, $stateParams, Factory) {
var vm = this;
getItemDetails();
function getItemDetails() {
vm.Gallery = [];
Factory
.getFirst('Gallery', 'objectId', $stateParams.id)
.then(function(resp) {
vm.GalleryData = response;
console.log(resp);
vm.Gallery.push({
id: resp.id,
});
});
如有任何帮助,我们将不胜感激。
谢谢
卡梅隆
在您的路由配置中您使用 url: '/item/:galleryid',
但在控制器中您正在寻找 $stateParams.id
与路由配置不匹配
改为$stateParams.galleryid