Archives by date

You are browsing the site archives by date.

【AngularJS】AngularJSのモデルとサーバーを同期させる事ができるAngularFire。

AngularJSはモデルとビューの2wayデータバインディングが強みだけど、AngularFireはそれをサーバーサイドまで拡張して、
いうなれば3wayデータバインディングを可能にしてくれるとのこと。

https://www.firebase.com/docs/web/bindings/angular/

AngularsNinjaさんでも取り上げているしこれは面白いことになりそう。

http://angularjsninja.com/blog/2013/09/01/angularfire-realtime-chat-app/

今度試してみよう。

 

【AngularJS】ngOptionsの書き方メモ。

あんまり使わないので忘れるからメモ。

オブジェクトを渡す方法と配列を渡す方法があるんだけど、とりあえず今回はオブジェクトのほう。

<select ng-options="key for (key, value) in {'ばりゅ?1': 'value1', 'ばりゅ?2': 'value2', 'ばりゅ?3': 'value3'}"></select>

これでkeyがoptionの値になりvalueがvalue=””の中に入ってくれる。

まぁ更なる詳細は公式みたほうがいいあるね。

https://docs.angularjs.org/api/ng/directive/select

 

【AngularJS】ng-appを複数共存させる方法。

まず大前提として。

1, ngAppディレクティブの入れ子は出来ません。
2, angularは一番はじめに見つけたngApp以外は自動で起動してくれません。

というのを踏まえると入れ子は厳禁、そして2つ目以降のアプリケーションは自分で起動する必要がある。
のでこうする。

// jQueryが読み込まれていると仮定
angular.element(document).ready(function() {
    angular.bootstrap($('.targetElement'), ['myApp']);
});

angular.bootstrap()の第1引数にはngApp属性が指定されているエレメントを渡す。
※この例ではjQueryが読み込まれていることを前提として$関数にセレクタを渡し、エレメントを参照させている。
そして第2引数に起動したいアプリケーション名(今回はmyAppと仮定)を指定すれば良い。

これで複数のアプリケーションを起動させることが出来る。

 

【AngularJS】orderByフィルターに複数のフィールドを指定する。

引数に配列を渡せばOK。

<ul>
    <li ng-repeat="item in lists | orderBy: ['name', 'number']"></li>
</ul>

的な感じ。