タグ

angularjsに関するsnowcrushのブックマーク (4)

  • AngularJSでチェックボックスとモデルを紐付ける

    AngularJSを使ったフォームでチェックボックスを使いたいとする。 このとき単に真偽値を取りたいのであればそのままモデルを設定すれば、checkboxの値(true/false)をモデルに紐付けることが出来る。 <input type="checkbox" ng-model="model" /> しかし真偽値以外の値をモデルに設定したい場合もある。 その場合にはngTrue, ngFalseディレクティブを使う。 <input type="checkbox" ng-model="model" ng-true="OK" ng-false="Fail" /> 上記の例だとチェックが入っていればモデルの値は"OK"に、入ってなければ"Fail"にそれぞれ設定される。 ただし、これらの紐付けはモデルに対して行われる。つまり、モデルの変更がチェックボックス側に伝達されるわけではない。これはHTM

    AngularJSでチェックボックスとモデルを紐付ける
  • 1ページAppでクローラに動的なメタ情報を読ませることが出来るか?

    このブログは1ページAppを目指して作っている(まだ完成していないがいずれは少数の静的ページに集約したいと思っている)。1ページAppはシングルページアプリケーション(SPA)とも言い、1ページのHTMLページ内で動的にコンテンツを切り替えていくアプリのことだ。 URLのパラメータやフラグメントを元に、Ajaxなどで動的にコンテンツをロードすることであたかもそれぞれのページが存在するかのように別々のコンテンツを表示する。 ここで問題になるのは、Googleなどのクローラはjavascriptを実行しないため、クローラに対してTitleタグやOGPなどのメタ情報をクライアント側で動的に出し分けることが出来ないということだ。これについて何か解決策がないか調べてみたのだが、結論としては、クローラなどにjavascrptで動的にメタ情報を付加することはやっぱり出来ないということだった。(そりゃそう

    1ページAppでクローラに動的なメタ情報を読ませることが出来るか?
  • AngularJS で外部javascriptを遅延読み込み

    新しいブログエンジンでもコメントシステムはDisqusを使っている。 Disqusは記事ごとにコメント欄を生成し埋め込んでくれる優れたサービスなのだが、実装方法としてはjavascriptをブログ内で読み込んで指定のタグにロードしたDOM要素を展開するという仕組みである。 Angular.jsはng-includeなどの仕組みで、HTMLテンプレートを動的に読み込みができ、HTMLをパーツとして使いまわすことができる。 しかし、このテンプレートを読み込む際にscriptタグが含まれていた場合はセキュリティのためか、scriptタグが無視されてしまう。 そのためDisqusのように外部スクリプトを埋め込んでDOM要素を生成するようなサービスとは相性が悪い。 しかし、皆考えることは同じようで、ハックを公開してくれた人がいたので参考にさせていただいた。 使い方は簡単でngLoadModuleとい

    AngularJS で外部javascriptを遅延読み込み
  • AngularJS で外部javascriptを遅延読み込み // フリーランチなど無い - There ain't no such thing as a free lunch

    新しいブログエンジンでもコメントシステムはDisqusを使っている。 Disqusは記事ごとにコメント欄を生成し埋め込んでくれる優れたサービスなのだが、実装方法としてはjavascriptをブログ内で読み込んで指定のタグにロードしたDOM要素を展開するという仕組みである。 Angular.jsはng-includeなどの仕組みで、HTMLテンプレートを動的に読み込みができ、HTMLをパーツとして使いまわすことができる。 しかし、このテンプレートを読み込む際にscriptタグが含まれていた場合はセキュリティのためか、scriptタグが無視されてしまう。 そのためDisqusのように外部スクリプトを埋め込んでDOM要素を生成するようなサービスとは相性が悪い。 しかし、皆考えることは同じようで、ハックを公開してくれた人がいたので参考にさせていただいた。 使い方は簡単でngLoadModuleとい

  • 1