howdylikes

Google Developersってわかりづらいよね

AngularJS

AngularJS Uncaught TypeError: module is not a function

karmaでpreprocessorsにwebpackを指定してテストやっている時にでたエラー beforeEach(module('myApp')); // エラー beforeEach(angular.mock.module('myApp')); 参考サイト stackoverflow.com

AngularJS angular-mocks

karmaでangularが動かねぇなぁとおもってたらangular-mocksじゃなくてangular-mockになってた・・・ https://www.npmjs.com/package/angular-mock 11 downloads in the last day 142 downloads in the last week 365 downloads in the last month なおnpmの…

Error: [$compile:multidir] Multiple directives

表題の通り実行時にエラーが出たので原因と解決方法のメモです。 Webpack + AngularJS + TypeScript構成です。 最終的にエラーになる理由はディレクティブを複数定義したからです。 Webpackが生成するbundle.jsが同じのを吐いているんですよね。 // 呼び出し…

Angular JS require

Angularをrequireしてやったぜと意気揚々としていたのですが angularという変数がグローバルに作られててなんでや、、、と思ってソースを追っていたら angularが結局グローバルに書き込んでいるみたいですね。。 https://github.com/angular/angular.js/blob…

IntellijIDEAでTypeScriptのコード補完

TypeScriptの設定 Enable TypeScript CompillerをON AngularJSのライブラリをダウンロードしてみる この状態でコード補完が微妙に効く several definitionってのは 複数定義されているから出せない?ってことなのですが、よくわからない。 ちなみにこのtsを…

AngularJS プロミス $q

jQueryでいう$.Deferredですかね。 https://code.angularjs.org/1.4.8/docs/api/ng/service/$q $q.defer()でdeferredオブジェクトを取得してdeferred.promiseを返すようにする。 deferredオブジェクトにはpromiseと3つのメソッドが存在し必要に応じて使用す…

AngularJS controller asと $watchの指定

github.com 上記のスタイルガイドに以下の様な説明があるのですが Note: controller asを用いたコントローラの中で watch を作成したときは、次のシンタックスで vm.* のメンバを watch することができます。(digestのサイクルに追加の負荷がかかることに注…

AngularJS 変更監視 Scope#$watchの補足とScope#$apply

$watchについて以前書きましたがその補足と$applyについてです。 blog.howdylikes.jp 文字列の代わりにfunctionで変更監視対象を直接指定することが可能 と記載しましたがその補足です。 以下のscript内ではwindowオブジェクトのglobalを監視対象としていま…

AngularJS 変更監視 Scope#$watch、 Scope#$watchGroup、Scope#$watchCollection

リファレンス https://code.angularjs.org/1.4.7/docs/api/ng/type/$rootScope.Scope#$watch $watch 1つのプロパティを監視する $watch(watchExpression, listener, [objectEquality]); objectEqualityをtrueで指定するとangular.equalsを使用する angular.m…

AngularJS イベント通知 Scope#$emit, Scope#$broadcast, Scope#$on

$scopeのイベント通知関連の関数は以下の3つがある Scope#$emit 派生元に向けてイベントを送信(自身を含む) Scope#$broadcast 派生先に向けてイベントを送信(自身を含む) Scope#$on イベントを受信 リファレンス https://code.angularjs.org/1.4.7/docs/…

AngularJS $rootScopeと$scopeとthis

$rootScopeと$scopeとthisのメモ $scopeはのプロパティは$rootScopeのプロパティのプロトタイプチェーンとなっているので $scopeに定義されていなければ上へとたどる そのためdeleteで消してやれば$rootScopeを参照することになる。 またController as 記法…

AngularJS ng#injector

ng#injectorについてのメモです 主にAngularJSの外からAngularのサービスを取得などのために使うようです https://docs.angularjs.org/api/auto/service/$injector メソッドは5つあるようです。Module#valueを使ってそれぞれ見てみます get has invoke insta…

AngularJS Module#config Module#runについて

configとrunメソッドについてメモ リファレンス https://code.angularjs.org/1.4.7/docs/api/ng/type/angular.Module#config 仮引数はfuncitonのみ、factoryなどにある文字列とかはない=DIするものではないということですね これらはModule Methodsに位置づ…

AngularJS Module定義のエラー

Uncaught Error: [$injector:nomod] Module 'myapp' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument. myappがおかしい module…

AngularJS angular.element

AngularJSにはjQuery liteとかjqLiteと呼ばれるjQueryぽい機能がある模様。 これを使って更新してもバインドされている変数は書き換わらないので注意。 更新するときは$applyとか使うっぽいけどそれはまた別の機会に。 var now = angular.element(count).htm…

AngularJS ngSrc(ng-src)の使い方

imgタグのsrcにバインドするときはsrcの代わりにng-src使う模様 使わないと以下のエラーがコンソール上に表示される模様(Chrome) net::ERR_NAME_NOT_RESOLVED <img src="http://{{url}}"/> <img ng-src="http://{{url}}"/>

AngularJS $logProviderの使い方

開発時と本番時でdebugEnabledを切り替えればよさげかな? $logProvider.debugEnabled(true); // 開発時 $logProvider.debugEnabled(false); // 本番時