2017-03-15 9 views
1

私はAnglesJSアプリケーションを構築しています。このアプリケーションは、解析サーバのバックエンドからのデータを使用しています。私は、私のコントローラから呼び出すことができるサービスを介して任意のデータを取得します。しかし、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)と[ここ](https:// github .com/ParsePlatform/Parse-SDK-JS/issues/364) – mtpeoples

関連する問題