angular

状態の初期値とangularのonetime bindingの表示について

はじめに angularのonetime bindingは一度だけwatch対象にするらしい。一度だけというのはどのような解釈で一度だけかというのが気になった。 結論 ドキュメント に書いてあった。 One-time binding An expression that starts with :: is considered a one-…

なぜ angularで as syntax を使いscopeの所有関係を明示的に書いた方が良いのかという話

はじめに よく、「巷に溢れているangularのチュートリアルは良くない」だとか。「せめてcontrollerを使うときには as sytanxを使って」という話を聞きます。 それがなぜなのかということを説明してみることにしました。 $scopeの挙動について controllerが云…

console-angularというnpmのパッケージを作りました

console-angular というnpmのパッケージを作りました。 はじめに 作った理由はangularの機能を調べるのがだるいからです。以前から benv を使ってnode.js上でangularを動くようにしていましたがその設定を毎回コピーないしは動く場所で作るというのもだるく…

angular.jsはdataがundefinedだった場合にContent-Type headerを消す

はじめに requestのcontent typeをみて、responseの形式を変えたいと思うことがありました。 そのためにheadersを変えてrequestを投げてみたのですが、どうも上手くcontent typeが付かない。 なぜだろうと思って調べてみたのでした。 実験環境 とりあえず、…

angular.jsのdirectiveで指定するtemplateUrlを埋める方法

はじめに angularでdirectiveを定義する時にhtml template部分をどのように書くかというのは幾つか方法がある。 それについて、どのような時にどのような形で書けば良いかというののまとめ。 directiveのhtml template部分の書き方 angularのdirectiveのhtml…

typescriptで書いたコード中で雑に外部のjsを読み込んでnode.js上で実行する方法(typescriptで書いたangular.jsのコードをnode.js上で手軽に実行する方法)について

きっとtypescriptなどに慣れている人にはごく当たり前のことなのだと思うのだけれど。自分用のメモも兼ねてまとめる。 はじめに typescriptで書いたコードの動作を確認したいものの実行時には少しだけjs側のコードによる準備が必要な場合がある。 (例えば、t…

angularの$parse, $interpolate, $compile 位は把握しよう

はじめに https://t.co/43GvPaLHo0 angularさんについてこれ空で分かる程度には分かっててほしいと思ったりした。— po (@podhmo) 2016, 1月 12 $parse, $interpolate, $compile これらはどれも文字列のような別の表現を解釈してjs objectを返すような機能を…

angularでDIされるserviceがsingletonで困る場合にはfactoryを返すことを考えてみる

はじめに angularでは各serviceの利用時に指定した引数の箇所にDIされる。 これらで生成されるserviceは基本的にはsingleton objectになっている。 このためDIされた各service中では同一のオブジェクトを共有している。 例えば、以下の様なコードがあった場…

benvを使う時にはrequire.resolveを使ったほうが良いかも

以前angular.jsをnode.js上で動くようにするためにbenvを使う記事を書きました。 そこでは以下の様なコードを書いていました。しかしもう少しマシにできそうなのでその辺りのアップデートをします。 benv.setup(function(){ global.Node = window.Node; benv…

benvを使ってangular.jsのコードをnode上で動作させる

はじめに テストなどを書きたい時にブラウザを立ち上げずに動作チェックなどをしたいことがある。 しかしangular.jsを直接nodeからrequireすると怒られる $ npm install --save angular $ node -p 'require("angular")' ReferenceError: window is not defin…