javascript - Angular material Flikar titel oönskat beteende
Jag har stött på detta konstiga beteende när jag använder MatTabsModule från Angular Material. Flikarnas titlar sträcker sig när jag klickar på en flik, även om jag inte har något fel i konsolen.
app.html
<nav mat-tab-nav-bar>
<a mat-tab-link>
Tab1 (click me to see the bug)
</a>
<a mat-tab-link>
Tab2
</a>
</nav>
Jag upprepar att det inte finns något fel i konsolen. Mina beroenden är:
"dependencies": {
"@angular/animations": "^5.1.1",
"@angular/cdk": "5.0.0-rc.3",
"@angular/common": "^5.1.1",
"@angular/compiler": "^5.1.1",
"@angular/core": "^5.1.1",
"@angular/forms": "^5.1.1",
"@angular/http": "^5.1.1",
"@angular/material": "5.0.0-rc.3",
"@angular/platform-browser": "^5.1.1",
"@angular/platform-browser-dynamic": "^5.1.1",
"@angular/router": "^5.1.1",
"core-js": "^2.4.1",
"rxjs": "^5.5.5",
"zone.js": "^0.8.14"
},
"devDependencies": {
"@angular/cli": "^1.6.7",
"@angular/compiler-cli": "^5.2.0",
"@angular/language-service": "^5.2.0",
"@types/jasmine": "~2.8.3",
"@types/jasminewd2": "~2.0.2",
"@types/node": "~6.0.60",
"codelyzer": "^4.0.1",
"jasmine-core": "~2.8.0",
"jasmine-spec-reporter": "~4.2.1",
"karma": "~2.0.0",
"karma-chrome-launcher": "~2.2.0",
"karma-coverage-istanbul-reporter": "^1.2.1",
"karma-jasmine": "~1.1.0",
"karma-jasmine-html-reporter": "^0.2.2",
"protractor": "~5.1.2",
"ts-node": "~4.1.0",
"tslint": "~5.9.1",
"typescript": "~2.5.3"
}
För allt annat
Här är en Stack-blitz-demo
Svar #1
Angular Material-modulen kräver att man använder ett tema för att styla dess komponenter. Dessa stilar påverkar också transformationer, och därmed hur animationer hanteras. Så utan att inkludera ett tema kommer du att se hopp i dina element. Teman är ganska fullt anpassningsbara, men om du bara vill komma igång med det grundläggande rekommenderar de att använda ett standardtema.
Så inkludera detta i din styles.css, så länge ditt projekt använder Angular CLI:
@import "~@angular/material/prebuilt-themes/indigo-pink.css";;
Referens: Komma igång med Angular Material
Arbetar StackBlitz
Svar #2
Om du redan har ett tema tillagt i din angular.json-fil kanske du inte har startat om den lokala servern efter att ha lagt till materialmodulen. Stoppa bara servern med 'ctrl+c' och starta den sedan igen. Nu bör materialkomponenten fungera korrekt med tanke på att du har importerat komponenten i 'app.module'-filen.