angular.jsをやってみる (2) - $interpolateProvider -
{% 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