AngularJS 視圖中的單獨樣式表
在 AngularJS 中有效管理視圖特定的樣式表可以提高效能並維護程式碼組織。
視圖中的內聯樣式:重溫最佳效果實踐
由於潛在的效能問題和程式碼混亂,不鼓勵直接在HTML 視圖中包含樣式標籤。替代方法努力盡量減少對頁面渲染的影響。
使用 $routeProvider 進行動態 CSS 載入
在 AngularJS 中,$routeProvider 不提供動態 CSS 載入的直接支援。但是,可以實施自訂解決方案來實現此功能。
使用自訂指令進行隨選 CSS 載入
一種方法涉及建立攔截路由變更的自訂指令使用 $rootScope.$on() 方法。該指令插入和刪除
中的元素是基於為每個路由指定的 CSS 屬性的部分。app.directive('head', ['$rootScope','$compile', function($rootScope, $compile){ return { restrict: 'E', link: function(scope, elem){ var html = '<link rel="stylesheet" ng-repeat="(routeCtrl, cssUrl) in routeStyles" ng-href="{{cssUrl}}" />'; elem.append($compile(html)(scope)); scope.routeStyles = {}; $rootScope.$on('$routeChangeStart', function (e, next, current) { // Update CSS styles for route change // ... }); } }; } ]);
為路由設定 CSS 屬性
在 $routeProvider 配置中,css 屬性可用於為每個路由定義特定於視圖的 CSS 檔案。
app.config(['$routeProvider', function($routeProvider){ $routeProvider .when('/some/route/1', { templateUrl: 'partials/partial1.html', controller: 'Partial1Ctrl', css: 'css/partial1.css' }) .when('/some/route/2', { templateUrl: 'partials/partial2.html', controller: 'Partial2Ctrl', css: ['css/partial2_1.css','css/partial2_2.css'] }); }]);
其他注意事項
以上是如何在 AngularJS 中有效管理特定於視圖的樣式表?的詳細內容。更多資訊請關注PHP中文網其他相關文章!