2017-07-22 1 views
1

Ich versuche, die Snack-Bar aus eckigen Materialien zu verwenden, aber ich stieß auf ein Problem - die Snackbar erscheint nicht auf der Schaltfläche des Bildschirms, es erscheint unter der Schaltfläche, die anfordert es. Eine andere Sache, die passiert, dass es auch den Text von der Imbissbar auf meiner Seite setzt. enter image description hereProbleme mit Snackbar in Angular

Hier ist der Code, den ich verwendet:

Snackbar.ts

import { Component, OnInit } from '@angular/core'; 
import {MdSnackBar} from '@angular/material'; 

@Component({ 
    selector: 'app-snack-bar', 
    templateUrl: './snack-bar.component.html', 
    styleUrls: ['./snack-bar.component.css'] 
}) 
export class SnackBarComponent implements OnInit { 

    constructor(public snackBar: MdSnackBar) {} 

    ngOnInit() { 
    } 

    openSnackBar() { 
    this.snackBar.open("Hello World","action",{duration: 500}); 
    } 
} 

Snackbar.html

<button md-button (click)="openSnackBar()" aria-label="Show an example snack-bar"> 
    Click me 
</button> 

app.component.ts

import { Component } from '@angular/core'; 
import { SnackBarComponent } from './components/snack-bar/snack-bar.component'; 

@Component({ 
    selector: 'app-root', 
    templateUrl: './app.component.html', 
    styleUrls: ['./app.component.css'] 
}) 
export class AppComponent { 

} 

Dank!

+0

Haben Sie: die SnackBarModule importiert? ein materielles Thema konfiguriert? Hast du snack-bard.component.html anstelle von Snackbar.html gemeint? Verwenden Sie andere CSS-Bibliotheken/Dateien? –

+0

Ja, ich habe das MdSnackBarModule in der app.module.ts importiert. Ich habe kein materielles Thema konfiguriert, denn weil die Dokumentation nichts dazu aussagte, folgte ich genau dem, was auf der offiziellen Materialseite stand. – Keselme

Antwort

3

Sie benötigen eine der prebuilt Themen in Ihrem Projekt zu importieren. Ich habe versucht, ohne das vorgefertigte Thema und Snackbar verursacht das Problem, das Sie erwähnt haben.

Plunker without prebuilt theme

Einmal habe ich hinzugefügt, Snackbar in plunker hat gut funktioniert.

einen Testlauf durch in Ihrer index.html head folgende Zugabe

<link href="https://unpkg.com/@angular/material/prebuilt-themes/indigo-pink.css" rel="stylesheet"> 
+0

Danke !! Das hat das Problem gelöst! – Keselme

0

Versuchen Sie zu Ihrem CSS hinzufügen:

body { 
    height:100%; 
} 
+0

Das sollte nicht nötig sein ... –