Pracuję nad prostym projektem kątowym, w którym próbuję zaimportować Material Design do mojego projektu, ale niektóre komponenty nie działają poprawnie, a ostrzeżenie konsoli mówi:
Nie można znaleźć HammerJS. Niektóre komponenty Angular Material mogą nie działać poprawnie.
Mam hammerjs
zainstalowany i również @angular/material
. Jak rozwiązać ten problem?
Dygresja
Może warto zauważyć, że jeśli hammerjs
zainstalowałeś, a komponenty nadal nie renderują się poprawnie, upewnij się, że używasz angular material
komponentów, a nie elementów html z materialize-css
klasami . Jeśli są za pomocą materialize-css
zamiast angular material
, trzeba będzie dodać go do swojego projektu oddzielnie.
źródło
polyfills.ts
wyciszenia ostrzeżenia, co jest świetne! Ale komponenty Material Design nadal nie renderują się poprawnie: / W opisie pytania dołączę zrzut ekranu. Dzięki za dotychczasową pomoc!index.html
pliku. whoopsie .. Teraz wszystko wygląda dobrze. Pozdrawiam za pomoc!hammer
. Czy istnieje sposób na wyłączenie tych ostrzeżeń? W moich testach dostaję około 30 takich.Zainstaluj hammerjs
z npm
(lub) z przędzą
Następnie zaimportuj
hammerjs
do punktu wejścia aplikacji (np. Src / main.ts).źródło
import 'hammerjs';
do każdego*.spect.ts
pliku testowego, który używa komponentów materiałowych, aby naprawić ostrzeżenie podczas pracyng test
.tsconfig.json
ale import działa, dzięki za odpowiedź.import it on your app's entry point (e.g. src/main.ts)
, zamiast w app.module.ts. Oczywiście nie ma to jednak znaczenia.W swoim
systemjs.config.js
pliku musisz również dodać następujący wpis:'hammerjs': 'npm:hammerjs/hammer.js',
wraz z oczywiście:
'@angular/material': 'npm:@angular/material/bundles/material.umd.js',
Inną rzeczą, której brakuje w twoim kodzie (przynajmniej na podstawie tego, co masz w repozytorium GH), jest włączenie CSS Material Design, dodaj to do swojego
index.html
pliku:<link href="https://rawgit.com/angular/material2-builds/master/core/theming/prebuilt/indigo-pink.css" rel="stylesheet">
Mam nadzieję, że to pomoże.
źródło
to zadziałało dla mnie (i to też jest z ionic4), mogłem sprawić, że hammer.js zadziała - a także ionic z material.angular.io (na dole)
Młotek + jonowe (również młotek + kątownik):
następnie
następnie
następnie
następnie
Przykładowy kod ze strony hammerjs działa
Hammer + ionic + material: aby materiał działał z jonami
i voila, twój suwak materiału działa.
źródło
Otwórz wiersz poleceń lub PowerShell, wpisz katalog swojego projektu angular2:,
cd your-project's-root
naciśnij Enter i wklej:Npm automatycznie doda wszystkie zależności do twojego
package.json
pliku.źródło
--save
podczas instalacji przez npm i wszystko poszło gładko, ale ponieważ jesteś bardzo doświadczonym użytkownikiem, nieroztropnie byłoby się z tobą kłócić.--save
nie jest już konieczne, ponieważ będzie używany automatycznie. docs.npmjs.com/cli/install--save
, nadal będzie działać, ale nie zostanie dodany do pliku package.json, co oznacza, że nie zostanie automatycznie zainstalowany podczas uruchamianianpm install
w przyszłościdodaj to do typescript.config w opcjach kompilatora
"types": ["hammerjs"]
dodaj to do app.components.ts:
źródło
Zainstaluj za pomocą
lub
Po zainstalowaniu zaimportuj go do punktu wejścia aplikacji (np. Src / main.ts).
Przewodnik wprowadzający do materiałów kątowych
źródło