LoginSignup
17
18

More than 5 years have passed since last update.

AngularJSで絵文字を表示するメモ

Last updated at Posted at 2014-04-02

スクリーンショット 2014-04-02 23.14.25.png

  • こちらのEMOJI CHEAT SHEETで定義された絵文字をAngularJSのアプリケーションを表示してみたメモです。
  • このような記述 :smile: で絵文字を表示します。
    • 最終的には画像(CSSスプライト)で表示されます。

デモ

デモはこちら。

利用するライブラリ

この「AngularJS Emoji Filter」というライブラリを使います。

導入手順メモ

  • 上記のサイトからライブラリをダウンロードして、任意の場所に配置します。
    • 下記のように Bower でも出来るみたいなんですが、うまくスプライト画像がビルドできず断念..
      • bower install angular-emoji-filter

HTMLファイルでCSSファイルとJSファイルをインクルード

<link rel="stylesheet" href="emoji/emoji.min.css">
<script src="emoji/emoji.min.js"></script>

AngularJSに組み込む

app.js
'use strict';

angular.module('emojiApp', [
  'ngCookies',
  'ngResource',
  'ngSanitize',
  'ngRoute',
  'ui.bootstrap',
  'emoji' 追記
])
  .config(['$routeProvider', function ($routeProvider) {
    $routeProvider
      .when('/', {
        templateUrl: 'views/main.html',
        controller: 'MainCtrl'
      })
      .otherwise({
        redirectTo: '/'
      });
  }]);

試してみる

モデル側の例
angular.module('hogeApp')
  .controller('HogeCtrl', ['$scope', function ($scope) {
        $scope.message = "これは:smile:絵文字です。";
  }]);

:smile: になってるところは本当は :smile: です。

VIEW側の例
<div ng-controller="HogeCtrl">
    <span ng-bind-html="message | emoji"></span>
</div>
  • AngularJSのフィルタ機能で動作します。
  • ライブラリのサイトの例では ng-bind-html-unsafe となっていますが、AngularJS1.2以降では ng-bind-html で良いみたいです。

ブラウザで表示するとこんな感じ。

スクリーンショット 2014-04-02 23.00.51.png

ほか

デモのソースはこちらに置いておきます。

17
18
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
18