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