Я пытаюсь использовать «Входы с фоновой анимированной рамкой - Материал 2.0», как показано здесь: https://mdbootstrap.com/docs/jquery/forms/inputs/#animated -входы
Я также использую подход «Ленивая загрузка» (относительно маршрутизации).
Это оригинал
Вот как он должен работать
Это то, что он на самом деле делает
Проблема в том, что «Поле ввода» не работает должным образом. При вводе данных символы «перезаписывают» метку
Как это можно исправить? Если для этого требуется специальный модуль c, где можно найти информацию о необходимых модулях, необходимых для каждого компонента? Или - нужно ли импортировать все ~ модули MDB (или модули материалов) при создании «отдельных компонентов» (используя ng generate component
) в файле module.ts
для «отдельного компонента»?
ETA:
Я видел это сообщение здесь: Angular Сборщик даты не работает должным образом
У меня есть добавил Angular Material
к проекту (см. package.json
ниже)
Я попытался добавить BrowserAnimationsModule
следующим образом в authorizatin.module.ts
следующим образом:
import {NgModule} из '@ angular / core'; импортировать {CommonModule} из '@ angular / common'; import {AuthorizationRoutingModule} из './authorization-routing. модуль ';
импорт {BrowserAnimationsModule} из' @ angular / platform-browser / animations ';
[... snip ...]
@ NgModule ({ объявления: [authRoutingComponents], экспорт: [authRoutingComponents, AuthorizationRoutingModule], импорт: [BrowserAnimationsModule, CommonModule, ButtonsModule, AuthorizationRoutingModule,
, но получил следующую ошибку
1073 * *
Опять же, любая информация по этому вопросу приветствуется.
Ошибка при добавлении BrowserAnimationsModule
Файл: пакет. json
{
"name": "trading",
"version": "0.0.0",
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e"
},
"private": true,
"dependencies": {
"@angular/animations": "~8.2.14",
"@angular/cdk": "~8.2.3",
"@angular/common": "~8.2.14",
"@angular/compiler": "~8.2.14",
"@angular/core": "~8.2.14",
"@angular/forms": "~8.2.14",
"@angular/material": "^8.2.3",
"@angular/platform-browser": "~8.2.14",
"@angular/platform-browser-dynamic": "~8.2.14",
"@angular/router": "~8.2.14",
"@fortawesome/fontawesome-free": "^5.12.0",
"@types/chart.js": "^2.9.12",
"animate.css": "^3.7.2",
"chart.js": "^2.5.0",
"easy-pie-chart": "^2.1.7",
"hammerjs": "^2.0.8",
"ng-uikit-pro-standard": "git+https://oauth2:<api_key>c@git.mdbootstrap.com/mdb/angular/ng-uikit-pro-standard.git",
"rxjs": "~6.4.0",
"screenfull": "^3.3.0",
"tslib": "^1.10.0",
"zone.js": "~0.9.1"
},
"devDependencies": {
"@angular-devkit/build-angular": "~0.803.23",
"@angular/cli": "~8.3.23",
"@angular/compiler-cli": "~8.2.14",
"@angular/language-service": "~8.2.14",
"@types/node": "~8.9.4",
"@types/jasmine": "~3.3.8",
"@types/jasminewd2": "~2.0.3",
"codelyzer": "^5.0.0",
"jasmine-core": "~3.4.0",
"jasmine-spec-reporter": "~4.2.1",
"karma": "~4.1.0",
"karma-chrome-launcher": "~2.2.0",
"karma-coverage-istanbul-reporter": "~2.0.1",
"karma-jasmine": "~2.0.1",
"karma-jasmine-html-reporter": "^1.4.0",
"protractor": "~5.4.0",
"ts-node": "~7.0.0",
"tslint": "~5.15.0",
"typescript": "~3.5.3"
}
}
Файл: login.component. html
<div> <!--Form with header--> <div class="card">
<div class="card-block">
<!--Header-->
<div class="form-header purple darken-4">
<h3><i class="fa fa-lock"></i> Login:</h3>
</div>
<!--Body-->
<div class="md-form">
<i class="fa fa-envelope prefix"></i>
<input type="text" id="form2" class="form-control">
<label for="form2">Your email</label>
</div>
<div class="md-form">
<i class="fa fa-lock prefix"></i>
<input type="password" id="form4" class="form-control">
<label for="form4">Your password</label>
</div>
<div class="text-center">
<button class="btn btn-deep-purple">Login</button>
</div>
</div>
<!--Footer-->
<div class="modal-footer">
<div class="options">
<p>Not a member? <a href="#">Sign Up</a></p>
<p>Forgot <a href="#">Password?</a></p>
</div>
</div>
</div> <!--/Form with header--> </div>
Файл: login.component.ts
import { Component, OnInit } from '@angular/core';
// MDB Angular Pro
@Component({
selector: 'app-login',
templateUrl: './login.component.html',
styleUrls: ['./login.component.scss']
})
export class LoginComponent implements OnInit {
constructor() { }
ngOnInit() {
}
}
Файл: authorization-routing.module.ts
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
// components that we need to navigate to
import { LoginComponent } from './login/login.component';
import { ForgotPasswordComponent } from './forgot-password/forgot-password.component';
import { RegisterComponent } from './register/register.component';
import { PageNotFoundComponent } from './page-not-found/page-not-found.component';
export const routesAuth : Routes = [
{ path: 'login' , component: LoginComponent },
{ path: 'register' , component: RegisterComponent },
{ path: 'forgot-pass' , component: ForgotPasswordComponent },
{ path: '**' , component: PageNotFoundComponent }
];
@NgModule({
imports: [ RouterModule.forChild(routesAuth)],
exports: [ RouterModule ],
declarations: [ ]
})
export class AuthorizationRoutingModule {}
export const authRoutingComponents = [ LoginComponent, RegisterComponent, ForgotPasswordComponent, PageNotFoundComponent ]
Файл: authorization.module.ts
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { AuthorizationRoutingModule } from './authorization-routing. module';
import { authRoutingComponents } from './authorization-routing. module';
// items that go with the Component
import { AccordionModule } from 'ng-uikit-pro-standard';
import { CardsModule } from 'ng-uikit-pro-standard';
import { CheckboxModule } from 'ng-uikit-pro-standard';
import { IconsModule } from 'ng-uikit-pro-standard';
import { ButtonsModule } from 'ng-uikit-pro-standard';
@NgModule({
declarations:
[ authRoutingComponents ],
exports: [ authRoutingComponents,
AuthorizationRoutingModule
],
imports: [ CommonModule,
ButtonsModule,
AuthorizationRoutingModule,
AccordionModule,
CardsModule,
CheckboxModule,
IconsModule
]
})
export class AuthorizationModule { }