angular.module('core').config(['$stateProvider', '$urlRouterProvider','$mdTheming', '$mdThemingProvider', function ($stateProvider, $urlRouterProvider,$mdTheming, $mdThemingProvider) { $mdThemingProvider.generateThemesOnDemand(true); $mdThemingProvider.theme('myDefaultTheme') .primaryPalette('purple') .accentPalette('green'); $mdTheming.generateTheme('default'); $mdThemingProvider.setDefaultTheme('default'); });
@Arpit Meena - Midhunsai如果您想删除所有样式标签:
var st = document.getElementsByTagName('style');
for(i = 0 ; i < st.length ; i++){
st[i].parentNode.removeChild(st[i]);
}
请尝试以下 JQuery 代码:
$('style[md-theme-style]').remove();
原因:
Angular-material 包含一些默认的 theme
css 作为常量变量。
您可以在 这里(angular-material.js) 进行查看。
当我们在浏览器中加载这个库时,它会动态地将许多样式标签添加到页面的<HEAD>
部分。
如何禁用?
您可以覆盖constans
。这将导致不在组件上添加主题类。angular(myApp, [ ngMaterial, myAppModules ]).constant("$MD_THEME_CSS","");
angular.module('myApp', ['ngMaterial'])
.config(function($mdThemingProvider) {
//disable theme generation
$mdThemingProvider.generateThemesOnDemand(true);
//themes are still defined in config, but the css is not generated
$mdThemingProvider.theme('altTheme')
.primaryPalette('purple') .accentPalette('green');
//生成名为altTheme的预定义主题 $mdTheming.generateTheme('altTheme'); });
当 material.js 加载到您的浏览器中时,它会动态地向页面文档添加许多 CSS 样式标签。要禁用它们,您需要使用以下命令重新编译 angular-material:
git clone https://github.com/angular/material.git
然后安装依赖项:
cd material
npm install
然后打开 gulp/util.js 文件,将第 53 行改为:
var jsProcess = series(jsBuildStream, themeBuildStream() )
成为:
var jsProcess = series(jsBuildStream)
然后运行构建过程:
gulp build