尝试在我的项目中使用MDL Tabs。但是无法获得所需的标签样式。
组件代码:
<div class="releases-list-component">
<div class="mdl-tabs mdl-js-tabs mdl-js-ripple-effect" >//***** mdl container
<div class="mdl-tabs__tab-bar">//***** mdl tabs
<a href="#albums" class="mdl-tabs__tab is-active">Albums</a>
<a href="#split" class="mdl-tabs__tab">Splits</a>
<a href="#tributes" class="mdl-tabs__tab">Tributes</a>
</div>
<div class="mdl-tabs__panel is-active" id="albums">//***** mdl tab content
<div class="release-list-item release_1"></div>
<div class="release-list-item release_2"></div>
<div class="release-list-item release_3"></div>
<div class="release-list-item release_4"></div>
<div class="release-list-item release_8"></div>
<div class="release-list-item release_9"></div>
</div>
<div class="mdl-tabs__panel" id="splits">//***** mdl tab content
<div class="release-list-item release_6"></div>
</div>
<div class="mdl-tabs__panel" id="tributes">//***** mdl tab content
<div class="release-list-item release_5"></div>
<div class="release-list-item release_7"></div>
</div>
</div>
</div>
我的 index.html
<!DOCTYPE html>
<html>
<head>
<base href="/">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- MDL CSS library -->
<link rel="stylesheet" href="/node_modules/material-design-lite/material.min.css">
<!-- MDL JavaScript library -->
<script src="/node_modules/material-design-lite/material.min.js"></script>
<!-- Material Design Icons -->
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
<!-- Custom Style -->
<link rel="stylesheet" href="app/css/styles.css">
<!-- Polyfill(s) for older browsers -->
<script src="node_modules/core-js/client/shim.min.js"></script>
<script src="node_modules/zone.js/dist/zone.js"></script>
<script src="node_modules/reflect-metadata/Reflect.js"></script>
<script src="node_modules/systemjs/dist/system.src.js"></script>
<script src="systemjs.config.js"></script>
<script>
System.import('app').catch(function(err){ console.error(err); });
</script>
</head>
我的 style.css
#albums {
display: flex;
justify-content: space-around;
flex-wrap: wrap;
}
.release-list-item {
width: 400px;
height: 400px;
margin: 15px;
}
.release_1 {
background: url('../images/cover.jpg') center center no-repeat;
background-size: 100%;
}
我也在使用其他mdl元素(例如预加载器),它们工作正常。 但Tabs特别不起作用。
我还将一些正在运行的MDL Tabs示例复制粘贴到我的component.html中,但它们也没有用。
我找不到合适的解决方案。请解释如何使其发挥作用。
答案 0 :(得分:0)
必须将以下变量和函数添加到启动应用程序的main.ts(或类似)文件中。 取自that issue
declare var componentHandler: any;
setTimeout(function() {
componentHandler.upgradeAllRegistered();
}, 100);