Archives by date

You are browsing the site archives by date.

【AngularJS】ng-viewで読み込んだビューがスクロール出来ない。

ことがある。

調べたらng-viewディレクティブにautoscroll属性を追加してやることで幸せになれる模様??

<div ng-view autoscroll></div>

 

【Symfony2.3】双方向Many-To-Manyの公式リファレンス。

参照する機会が多いので自分用にペタリ。

http://docs.doctrine-project.org/en/2.0.x/reference/association-mapping.html#many-to-many-bidirectional

 

【Symfony2.3】Doctrine2のリレーションに関するメモ。

リレーションに関する解説としてとても参考になるページをみつけたのでペタリ。

http://www.exgear.jp/blog/2010/10/doctrine_association/

なかなか日本語の文献が少ないから、初学者にとってはありたがい。

 

【CSS】チェックボックスやラジオボタンをラベルと横並びにするとinput要素がずれる。

ので下記のように対応すればOK。

input {
	vertical-align: middle;
}

input要素に適用するところがミソ。

 

【UnderscoreJS】Jsonで取得してきたDBのデータからマスタオブジェクトを生成する。

メモ。

例えばサーバーから下記のようなjsonが返ってきたとして。

[
	{
		"id": 1,
		"name": "taro",
		"age": 16
	},
	{
		"id": 2,
		"name": "hanako",
		"age": 18
	},
	{
		"id": 3,
		"name": "bob",
		"age": 20
	},
]

IDと名前のマスタを生成したい場合、下記のように生成することが出来る。

// dataは上記のjsonオブジェクト
var master = _.object(_.pluck(data, 'id'), _.pluck(data, 'name'))
// => {"1": "taro", "2": "hanako", "3": "bob"}

underscoreさん便利っすわー。

 

【AngularJS】ブラウザバックを検出する方法。

いつもお世話になっておりますstack様に素晴らしいコードがあったのでペタリ。

myApp.run(function($rootScope, $route, $location){
   //Bind the `$locationChangeSuccess` event on the rootScope, so that we dont need to 
   //bind in induvidual controllers.

   $rootScope.$on('$locationChangeSuccess', function() {
        $rootScope.actualLocation = $location.path();
    });        

   $rootScope.$watch(function () {return $location.path()}, function (newLocation, oldLocation) {
        if($rootScope.actualLocation === newLocation) {
            alert('Why did you use history back?');
        }
    });
});

詳細は下記参照。

http://stackoverflow.com/questions/15813850/detect-history-back-using-angular

 

【AngularJS】ng-repeatでオブジェクトを回した際、オブジェクトのキーを取得する方法。

メモ。

下記のように定義してやればOK。

<label ng-repeat="(id, name) in categories track by $index"></label>

(key, value) in object としてやることで両方を取得することが出来る。

 

【Eclipse】同一のファイルを複数タブ開く方法。

同一ファイルの違う箇所を画面分割して表示したい場合など。

複製したいファイルを開いている状態で

「Window」→「New Editor」

を選択すればOK。