2017-03-15 64 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