Angularのイベント処理
Angularを使っていて楽なのはHTMLタグにインベントリスナーに登録する行為ではないでしょうか。
なんらかのイベントをトリガーとしてメソッドを呼ぶ行為ですね。
例えばあるボタンをクリックしたときにalert(“test”)とメッセージを出したいという場合下記のように書けばOKです。
HTML側
1 |
<button ng-click="showMessage()">メッセージ出力</button> |
JavaScript側
1 2 3 4 5 6 7 8 9 |
<script> angular.module('myApp', []) .controller('myController', ['$scope', function($scope) { $scope.msg =''; $scope.showMessage = function() { $scope.msg = '本日は晴天なり'; }; }]); </script> |
http://www.buildinsider.net/web/angularjstips/0008
Angularでの改行ネタ
HTMLでテキストエリアなど改行を出力したいときのネタについて。
データベースには通常\nで改行を登録していると思います。これをHTMLで出力して、うまく改行させたいときは多いかと思います。
<br>タグに置換すればいいのかといえばそう単純でもありません。その場合、推奨ではないですが、下記のような方法をとると比較的楽になります。
http://qiita.com/taiyoslime/items/3f1dccf96101155ffd4e
echoでのバッファサイズ変換
Cakeでjsonをechoで吐き出すときにある程度サイズが大きいと、下記のようなバッファリングのエラーがでます。
1 |
Warning (2): Cannot modify header information – headers already sent by (output started at ・・・ |
おそらくバッファサイズに入りきらないうちに出力されているものと思われます。そのため、その場合、下記のようにphp.iniの情報を変更すればOKです。
1 2 |
;output_buffering = 4096 output_buffering = On |
追記
どうやらHTMLヘッダを正確に定義するのが正しい方法のようです(多分)。
CakePHPでは下記のように書くことでこれを修正できるようです。
1 |
$this->response->body(json_encode($data)); |