51ch @Nippon

こちらは高橋晃一の自己マンサイトです。万が一興味があればどうぞ。メッセージはお気軽に。

*

【AngularJS】user別に紐づく値を取得

   

広告

ユーザーごとに表示する値を変更する場合のメモ。
例えば、ユーザーが保持しているポイントを表示してみる。
フロントのみの実装を行う。
なお、ユーザーの認証周りはできている前提で今回は触れない。

■view
ログインしたらポイントが表示されていて、それを押下したらポイント一覧にリンクされるイメージ。

・ng-if=”session.user.signedIn”
で、ログインされているときのみ対象となる。sessionとかは、DeviceAuthなどを使い別途定義しています。
・ng-controller=”PointsCtrl as ptc”
で、コントローラーを呼び出し。
(Angular2からng−controllerが使えなくなるらしい、、、)
・ui-sref=”app.point.index”
で、押下されたときの処理。app.jsにルーティングを記載。
・{{ptc.point.myPoint}}
PointsCtrlで定義しているpointの属性であるmyPointを取得。

■controller

・$rootScope
すべてのスコープの親に当たるルートで、すべてのスコープは$rootScopeを継承する。グローバル変数的に利用できる。
・point.myPoints($rootScope.user.id)[0]
サービス名pointで定義したmyPointsより引数user.idで取得。
必ず配列で帰ってきてしまうので[0]で先頭を指定。配列の中身は1件なんだけどね。
なんか無駄だよね。

広告


■service

・var pointOfUser =
実際の実装では、APIで取得してくる箇所であるが今回はダミーデータ。
・return filterFilter(pointOfUser,{userId: id});
絞り込み。pointOfUserの配列データから、userIdが合致する値を取得してリターン。
配列の中身を検索するfilterFilter
参考

■ルーティング

広告

 - プログラミング

  関連記事

no image
アニメーション設定時の注意点

アニメーションを指定する時のUIViewの設定は、 UIView.animate …

Stinger smart.cssが表示されない 犯人はイニシャルP.Jだ!

51chはWordPressで、もはや猫も杓子ものStinger3をテーマに使わ …

バックグラウンドで音楽を再生したい

こちらを知りたいと思う時は、きっと既に音楽は流せれるようになったけど、 アプリを …

エラーSIGABRTのとき

エラーとしてはSIGABRTが出ちゃうパターン。 ログを見ると、 「this c …

railsでオブジェクトをnewできないエラー

<事象> rails consoleから単純にnewしたら以下のエラーが表示され …

CSVをMySQLへ取り込み&改行コードについて

■背景 今回、Mac端末を使って、csvファイルからMySqlのテーブルにデータ …

iOS Dev Centerへのアクセス

iPhoneアプリをリリースするには、 1、Certificatesの設定 2、 …

iPhoneアプリリリース時の注意

iPhoneアプリリリース時に私が引っかかったのは、Archiveを取る時です。 …

AWSのSNS準備 BFTaskでエラー

AWSのSNS準備のため、アプリ側のAppDelegateにQiitaで多数アッ …

文字列の先頭、末尾を条件に使う

スポンサードリンク 「hasPrefix」を使うと文頭に含まれているかどうかをチ …