【AngularJS】templateとtemplateUrlの併用

© frogra.jp

【AngularJS】templateとtemplateUrlの併用

templateにはタグの文字列、templateUrlにはURLを指定できますが、条件に合わせてこの二つを使い分けたい場面がありました。
両方のパラメータを指定してもだめなので、調べたところ下記リンク先のような方法があるようです。

templateProviderパラメータを利用します。
例えばテンプレートをgetで取得するが、取得できないときは固定文字列(タグ)を表示させたい場合は

templateProvider: function($http) {
    return $http.get('http://~').then(function(res) {
        if(res.status == 200) {
            return res.data;
        } else {
            return '<p>データが取得できませんでした</p>';
        }
    });
}

となります。