У меня есть ошибка в этой функции Angular 4 с Firebase и agularfire 2 неиспользуемым параметром - PullRequest
0 голосов
/ 12 сентября 2018

У меня есть приложение БД для строящейся HR-компании.Я использую Angular 4 с angularfire2 и Firebase.В моем кандидате. Component.ts у меня есть этот код, который должен добавить нового кандидата.Параметр «resol» показан как неиспользуемый, и я не понимаю, почему.Когда я вызываю функцию, обслуживающую приложение, она переходит вправо к другому параметру и выдает ошибку.Я оставлю здесь код, чтобы вы могли проверить его:

    validation(): boolean {
    if (!this.candidate.first_name || !this.candidate.email || !this.candidate.data_nasterii || !this.candidate.oras ||
        !this.candidate.domain) {
        return false
    }
    return true;
}

addCandidate() {
    console.log(this.candidate);
    if (this.validation()) {
        const date = this.candidate.data_nasterii;
        this.candidate.data_nasterii = date.year + '/' + date.month + '/' + date.day;
        this.candidateService.createItem(this.candidate).then(resolve => {
            this.success = true;
            console.log('Candidate added successfully...');
            setTimeout(function () {
                this.success = false;
                this.cValue('Success click');
                this.candidate = new Candidate();
            }.bind(this), 1500);
        }, reject => {
            this.failure = true;
            console.log('Error adding new candidate...');
            setTimeout(function () {
                this.failure = false;
            }.bind(this), 1500);
        });
    } else {
        this.failure = true;
        console.log('Error adding new candidate...');
        setTimeout(function () {
            this.failure = false;
        }.bind(this), 1500);
    }
}
}

HTML

<div>
    <div *ngIf="success" class="alert alert-success" role="alert" style="margin-left: 8px; margin-right: 8px;">
        <strong>Success!</strong> The candidate has been added.
    </div>
    <div *ngIf="failure" class="alert alert-danger" role="alert" style="margin-left: 8px; margin-right: 8px;">
        <strong>Error!</strong> Check all the fields below and try again.
    </div>
    <div class="col-xl text-xs-center" style="padding-bottom: 14px;">
        <div class="card card-default">
            <div class="card-block">
                <h6>Full name</h6>
                <div class="input-group">
                    <input class="form-control" placeholder="Name..."
                           name="first_name" [(ngModel)]="candidate.first_name">
                    <div class="input-group-addon">
                        <span class="fa fa-user"></span>
                    </div>
                </div>
            </div>
        </div>
    </div>
    <div class="col-xl text-xs-center" style="padding-bottom: 14px;">
        <div class="card card-default">
            <div class="card-block">
                <h6>Email</h6>
                <div class="input-group">
                    <input class="form-control" placeholder="Email..."
                           name="email" [(ngModel)]="candidate.email">
                    <div class="input-group-addon">
                        <span class="fa fa-envelope"></span>
                    </div>
                </div>
            </div>
        </div>
    </div>
    <div class="col-xl text-xs-center" style="padding-bottom: 14px;">
        <div class="card card-default">
            <div class="card-block">
                <h6>Date of birth</h6>
                <div class="input-group">
                    <input class="form-control" placeholder="yyyy/mm/dd"
                           name="dp" [(ngModel)]="candidate.dob" ngbDatepicker #d="ngbDatepicker">
                    <div class="input-group-addon" (click)="d.toggle()">
                        <span class="fa fa-calendar"></span>
                    </div>
                </div>
            </div>
        </div>
    </div>
    <div class="col-xl text-xs-center" style="padding-bottom: 14px;">
        <div class="card card-default">
            <div class="card-block">
                <h6>City</h6>
                <div class="input-group">
                    <input class="form-control" placeholder="City..."
                           name="phone" [(ngModel)]="candidate.city">
                    <div class="input-group-addon">
                        <span class="fa fa-globe"></span>
                    </div>
                </div>
            </div>
        </div>
    </div>
    <div class="col-xl text-xs-center" style="padding-bottom: 14px;">
        <div class="card card-default">
            <div class="card-block">
                <h6>Domain</h6>
                <div class="input-group">
                    <input class="form-control" placeholder="Domain..."
                           name="phone" [(ngModel)]="candidate.domain">
                    <div class="input-group-addon">
                        <span class="fa fa-briefcase"></span>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>
<!-- /.row -->
<div class="modal-footer">
    <button type="button" class="btn btn-outline-primary" (click)="addCandidate()">Add</button>
</div>

И мой app.module.ts

import {NgModule} from '@angular/core';
import {FormsModule} from '@angular/forms';
import {Http, HttpModule} from '@angular/http';
import {BrowserModule} from '@angular/platform-browser';
import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
import {TranslateLoader, TranslateModule} from '@ngx-translate/core';
import {TranslateHttpLoader} from '@ngx-translate/http-loader';
import {AppRoutingModule} from './app-routing.module';
import {AppComponent} from './app.component';
import {AuthGuard} from './shared';
import {AngularFireModule} from 'angularfire2';
import {AngularFireAuthModule} from 'angularfire2/auth';
import {AuthService} from './login/auth.service';
import {Ng4LoadingSpinnerModule} from 'ng4-loading-spinner';
import { AngularFireDatabase } from 'angularfire2/database';
import { AngularFireDatabaseModule } from 'angularfire2/database';

import {ConversationComponent} from "./layout/conversation/conversation.component";
import {UsersService} from "./shared/services/users.service";
import {ConversationService} from "./layout/conversation/conversation.service";

// email api key
// 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

// AoT requires an exported function for factories
export function HttpLoaderFactory(http: Http) {
    // for development
    // return new TranslateHttpLoader(http, '/start-angular/SB-Admin-BS4-Angular-4/master/dist/assets/i18n/', '.json');
    return new TranslateHttpLoader(http, '/assets/i18n/', '.json');
}

export const firebaseConfig = {
    apiKey: "###-k",
    authDomain: "######",
    databaseURL: "#######",
    projectId: "####",
    storageBucket: "######",
    messagingSenderId: "#####"
};

@NgModule({
    declarations: [
        AppComponent
    ],
    imports: [
        BrowserModule,
        BrowserAnimationsModule,
        FormsModule,
        HttpModule,
        AppRoutingModule,
        AngularFireModule.initializeApp(firebaseConfig),
        AngularFireAuthModule,
        AngularFireDatabaseModule,
        TranslateModule.forRoot({
            loader: {
                provide: TranslateLoader,
                useFactory: HttpLoaderFactory,
                deps: [Http]
            }
        }),
        Ng4LoadingSpinnerModule
    ],
    providers: [AuthGuard, AuthService],
    bootstrap: [AppComponent]
})
export class AppModule {
}
...