gpt4 book ai didi

angular5 - 带有 Angular Material 的 Angular 5 - 按钮波纹效果不起作用

转载 作者:行者123 更新时间:2023-12-02 22:11:35 25 4
gpt4 key购买 nike

我尝试应用普通的角形 Material 按钮,但波纹效果根本不起作用。

我得到了:

import 'core-js/es6/reflect';
import 'core-js/es7/reflect';
import 'zone.js/dist/zone';
import 'hammerjs';
import 'web-animations-js';
import { MatCheckboxModule } from '@angular/material';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import {MatButtonModule} from '@angular/material/button';

imports: [
MatButtonModule,
MatCheckboxModule,
BrowserAnimationsModule
],
providers: [WeatherService],
bootstrap: [AppComponent, WeatherComponentComponent]
})

在全局 styles.css 文件中,我有:@import

'~@angular/material/prebuilt-themes/deeppurple-amber.css';
dependancies:
"dependencies": {
"@angular/animations": "^5.2.10",
"@angular/cdk": "^5.2.5",
"@angular/common": "^5.2.10",
"@angular/compiler": "^5.2.10",
"@angular/core": "^5.2.10",
"@angular/forms": "^5.2.10",
"@angular/http": "^5.2.10",
"@angular/material": "^5.2.5",
"@angular/platform-browser": "^5.2.10",
"@angular/platform-browser-dynamic": "^5.2.10",
"@angular/router": "^5.2.10",
"core-js": "^2.4.1",
"hammerjs": "^2.0.8",
"rxjs": "^5.0.1",
"ts-helpers": "^1.1.1",
"web-animations-js": "^2.3.1",
"zone.js": "^0.8.26"

"devDependencies": {
"@angular/cli": "^1.7.4",
"@angular/compiler-cli": "^5.2.10",
"@types/jasmine": "^2.8.6",
"@types/node": "^9.6.6",
"codelyzer": "^4.3.0",
"jasmine-core": "^3.1.0",
"jasmine-spec-reporter": "^4.2.1",
"karma": "^2.0.2",
"karma-chrome-launcher": "^2.0.0",
"karma-cli": "^1.0.1",
"karma-jasmine": "^1.0.2",
"karma-remap-istanbul": "^0.6.0",
"protractor": "^5.3.1",
"ts-node": "^6.0.0",
"tslint": "^5.9.1",
"typescript": "^2.7.0"
}

HTML:

<button mat-raised-button color="primary">Button</button>

我还尝试过链接全局 HTML 中的样式表 - 但仍然不起作用。

最佳答案

我也遇到了同样的问题,最后解决了。我看了几篇 SO 帖子,但没有一个适合我的情况。我将在下面展示我的做法,因此它可能会对遇到此问题的任何人有所帮助。

上下文

我正在研究 Tutorial: Tour of Heroes在 Angular 的网站上,所以我的应用程序相当小且简单。要使用 Material 组件,我按照 Angular Material official website 上的“入门”页面进行操作。 。我使用 Angular CLI,因此我在 styles.css 中导入了预构建的主题 css ,导入 MatButtonModule 并尝试 <button mat-button>basic</button> ,但是按钮波纹效果不起作用。

解决方案

index.html添加类(class) mat-app-background像这样的 body

<body class="mat-app-background">
...
</body>

按钮中的涟漪效果现在可以使用了!

请解释

该解决方案基于Angular Material Theming Guide 。在主题实际发挥作用之前,他们对其他设置有一些说明:

Finally, if your app's content is not placed inside of a mat-sidenav-container element, you need to add the mat-app-background class to your wrapper element (for example the body). This ensures that the proper theme background is applied to your page.

Angular Material's Getting Started 中没有提到这一点页。因此,如果您按照该页面并测试 mat-button马上,它可能不起作用。

这对每个人都有效吗?

绝对不是。如果您的情况与我类似,则上述解决方案更有可能有效。但我会告诉你我之前做了什么步骤,这导致了我的情况。

我使用 Angular CLI 创建我的 Angular 应用程序,并遵循 Getting Started教程如下:

  1. 我安装了这些软件包:@angular/material @angular/cdk @angular/animations
  2. 我导入了MatButtonModuleapp.module.ts .

app.module.ts我有

...
import {MatButtonModule} from '@angular/material';

@NgModule({
...
imports: [
BrowserModule,
...
MatButtonModule, // import the Angular Material modules after Angular's BrowserModule, as described in the tutorial.
],
...
})
  • 导入预建主题 CSS
  • styles.css

    @import '~@angular/material/prebuilt-themes/pink-bluegrey.css';
    ...
  • 现在在 HTML 中添加按钮
  • app.component.html

    ...
    <button mat-button>Basic</button>
    ...

    我点击了按钮,涟漪效果不起作用。所以我被困在这里了。但是,奇怪的是,如果我切换到预建主题 deeppurple-amber.css ,然后波纹就会起作用,而不应用上面的解决方案

    如果我切换到其他预建主题,例如 purple-green.csspink-bluegrey.css ,链式 react 又不起作用了。我不确定原因是什么,但可能主题仍未正确配置,因此事情变得不可预测。有时有效,有时无效,这不是一个好兆头,所以让我们继续下一步。

  • 如果您的涟漪效应到目前为止没有像我一样起作用,请按照解决方案中的信息以及 Theming Guide 中的说明进行操作。 。根据主题指南,您要么需要元素 mat-sidenav-container或类(class) mat-app-background使 Material 主题配置正确。最后,链式 react 现在应该起作用了。
  • 关于angular5 - 带有 Angular Material 的 Angular 5 - 按钮波纹效果不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50027997/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com