私の Angular アプリケーションでは、css ファイルをモジュール方式でロードしたいと考えています。各モジュールには独自の css ファイルがあります。このようにして、モジュールを簡単に追加、削除、または移動できます。
これまでに見つけた最善の方法は、サービスを作成することです。
angular.module('cssLoadingService', []).factory("CssLoadingService", function () {
return {
loadCss: function (url) {
if (document.createStyleSheet) { //IE
document.createStyleSheet(url);
} else {
var link = document.createElement("link");
link.type = "text/css";
link.rel = "stylesheet";
link.href = url;
document.getElementsByTagName("head")[0].appendChild(link);
}
}
};
});
各コントローラはテンプレート css をロードします。(別のサービスによって) パスを挿入しますが、ロジックとビューの間の分離を壊しているように感じます。
他のエレガントな方法はありますか (css ファイルを 1 つの巨大なファイルにパックすることは含まれません)。