如何访问 AngularJS 中的 Parse 对象属性?

How to access Parse object properties in AngularJS?

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

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

我的搜索发现有几个人指向 this example of Parse and AngularJS boilerplate by BRANDiD,但指向他们的实际代码和站点的链接似乎已失效。

任何关于如何最好地解决这个问题的见解将不胜感激!

我将创建一个服务,该服务将 return 一个 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>