2017-03-15 53 views
1

我正在构建一个使用来自分析服务器后端的数据的AngularJS应用程序。我通过服务检索任何数据,这些数据可以从我的控制器中调用。但是由于Parse对象的工作原理,所有的属性都通过get函数来访问,我的html变得像<p>{{myObject.get('title')}</p>}一样充满了行。如何访问AngularJS中的Parse对象属性?

理想情况下,我想像常规物体一样访问属性,例如myObject.title,但我似乎无法找到在AngularJS中使用Parse JS sdk时的最佳实践参考。

我的搜索引起了几个人指向this example of Parse and AngularJS boilerplate by BRANDiD,但他们的实际代码和网站的链接似乎已经死亡。

任何深入了解如何最好地接近这一点将非常感激!

回答

0

我会创建一个服务,将返回一个JSON转换的分析响应。

(伪)代码:

服务:

app.service('Books', function($q) { 
    return { 
    findBookById: function(id) { 

     var deferred = $q.defer(); 

     // parse query logics .. 
     var Book = Parse.Object.extend("Book"); 
     var query = new Parse.Query(Book); 
     query.equalTo("book_id", id); 

     query.first({ 
     success: function(response) { 
      // convert to JSON so that you can access properties directly 
      // eg. book.name (instead of book.get('name')) 
      deferred.resolve(response.toJSON()); 
     }, 
     error: function(err) { 
      deferred.reject(err); 
     } 
     }); 
     return deferred.promise; 
    } 
    }; 
}); 

控制器:

app.controller('BookCtrl', function($scope, Books) { 
    Books 
    .findById(10) 
    .then(function(book) { 
     $scope.book = book; 
    }) 
    .catch(function(err) { 
     alert('Error occurred : ' + err.message); 
    }); 
}); 

查看:

<p>Book Name: {{book.name}}</p> 
+0

这似乎是一个很好的答案,甚至似乎嵌套指针工作。有些人在特定情况下遇到了这种方法的问题,如[见](https://github.com/ParsePlatform/Parse-SDK-JS/issues/258)和[here](https:// github .COM/ParsePlatform /解析-SDK-JS /问题/ 364) – mtpeoples