【发布时间】:2018-06-09 00:18:19
【问题描述】:
我用 angular-cli 创建了一个 angular4 项目。我想materialize-css@next 图书馆。所以我已经安装了它使用
npm install materialize-css@next --save
这样就安装好了
"materialize-css": "^1.0.0-alpha.2",
然后在 angular-cli.json 中我添加了对 css 和 js 文件的引用
"styles": [
"styles.css",
"../node_modules/materialize-css/dist/css/materialize.css"
],
"scripts": [
"../node_modules/materialize-css/dist/js/materialize.js"
],
现在这对于按钮和导航栏等普通组件可以正常工作,因为这些组件不需要任何 js。
如何创建轮播、可折叠等需要js的动态元素?
正如我用谷歌搜索的那样,有像 angualr2-materialize
这样的包装库所以我已经安装了这个
npm install angular2-materialize --save
并将模块导入我的 app.module.ts
import { MaterializeModule } from 'angular2-materialize';
然后在imports@NgModule数组中
imports: [
BrowserModule,
MaterializeModule
],
当我使用以下标记时
<a class="waves-effect waves-light btn modal-trigger" (click)="openModal()">Modal</a>
<div id="modal1" class="modal bottom-sheet" materialize="modal" [materializeParams]="[{dismissible: false}]" [materializeActions]="modalActions">
<div class="modal-content">
<h4>Modal Header</h4>
<p>A bunch of text</p>
</div>
<div class="modal-footer">
<a class="waves-effect waves-green btn-flat" (click)="closeModal()">Close</a>
<a class="modal-action modal-close waves-effect waves-green btn-flat">Agree</a>
</div>
</div>
正在显示
index.js:4 Uncaught Error: Couldn't find Materialize object on window. It is created by the materialize-css library. Please import materialize-css before importing angular2-materialize.
at Object.../../../../angular2-materialize/dist/index.js (index.js:4)
at __webpack_require__ (bootstrap f20633ecefcae2ee4f21:54)
at Object.../../../../../src/app/app.module.ts (app.component.ts:9)
at __webpack_require__ (bootstrap f20633ecefcae2ee4f21:54)
at Object.../../../../../src/main.ts (environment.ts:8)
at __webpack_require__ (bootstrap f20633ecefcae2ee4f21:54)
at Object.3 (main.ts:11)
at __webpack_require__ (bootstrap f20633ecefcae2ee4f21:54)
at webpackJsonpCallback (bootstrap f20633ecefcae2ee4f21:25)
at main.bundle.js:1
我错过了什么吗?
有什么方法可以在不使用包装器的情况下使用 MaterializeCSS 库?
【问题讨论】:
标签: javascript css angular materialize