私は(Angularで、クライアントで)同じデータベースオブジェクトをhtmlビューを介して、json APIを介して同等のインスタンスに接続しようとしています。
動作中の API と $resource があり、動作中のビューがあります。バインディングを作成する方法がわからないため、ビューを更新すると Angular モデル / $resource が更新されます。
具体的には、ngBind属性を含むhtmlビューがサーバー側に取り込まれています。
<div class="ng-scope" ng-app="Posts">
<div class="ng-scope" ng_controller="PostsCtrl">
<span contenteditable="true" ng-bind="post.1.text">post.1.text value</span>
</div>
</div>
ページには一意の ID を持つこれらがいくつかあります。この例の目的上、これをフォーム テキスト フィールドと考える方が簡単な場合は、「contenteditable」を無視してください。その部分については個別に扱います。
その属性の形式は柔軟で、現在の状態です (つまり、post.1.text を post_1_text にするか、必要に応じて完全に分割することができます)。
リソース ファクトリは次のようになります (コーヒー スクリプトですが、js での回答も同様に感謝して受け取りました!:
app = angular.module 'Posts', ['ngResource']
app.factory 'Post', ($resource) ->
$resource('/api/posts/:id', {id: '@id'})
app.controller "PostsCtrl", @PostsCtrl = ($scope, Post) ->
$scope.posts = Post.query()
これにより、posts コレクションが正常に作成されます (この例では必要ありませんが、API が機能していることを示しています)。
では、ng-bind はどのように見えるべきで、どのようにコントローラーをバインドして、API に書き戻されたビューの更新を取得するのでしょうか?
(私はただ使うことができることを知ってng_repeat: "post in posts"
いますが、私が本当にこれをやりたいと思っているだけです。「それは複雑です」:-)
ありがとう!
編集:これは、私が達成しようとしていることを大まかに示すjsfiddleです:
...しかし、配列内のオブジェクトのインデックスではなく、オブジェクト キー 'id' に ID をバインドしたいと思います。