angular.jsをやってみる (2) - $interpolateProvider -

2013-10-22T00:00:00+00:00 angular.js JavaScript

{% raw %} angular.jsで$interpolateっていう機能を使う事で{{ model.name }}っていうのが評価されて出力されるわけだけど、デフォルトではstartSymbolが{{で、endSymbolが}}っていう事になってる。$interpolateProviderを使うことでこの設定を変える事も出来る模様 {% endraw %}

angular.element(document).ready(function() {
  var app = angular.module("hogeApp", []);

  app.config(function($interpolateProvider) {
    $interpolateProvider.startSymbol("[%").endSymbol("%]");
  });

  app.controller("sample1", SampleController);

  angular.bootstrap(document, ["hogeApp"]);
});

な感じで。またコントローラーとかで

var SampleController = (function() {
  function SampleController($scope, $interpolate) {
    var exp = $interpolate("[% model.name %]");
    console.log(exp({ model: { name: "hoge" }}));
  }
})();

ってな感じで$interpolateな注入を利用して、angular.jsなマークアップを内部評価したりもする事も出来る模様

参考1 ($interpolateのドキュメント): http://docs.angularjs.org/api/ng.$interpolate

参考2: ($interpolateProviderのドキュメント): http://docs.angularjs.org/api/ng.$interpolateProvider

SherlockNavigationDrawerを使ってみた angular.jsをやってみる (1)