2017-02-18 48 views
1

财产我收到以下错误角度看不懂的不确定

enter image description here 我是新来的角度,从而不能够明白它的意思。请有人解释我的意思吗?

import { Component, OnInit, OnDestroy } from '@angular/core'; 
import { ActivatedRoute } from '@angular/router'; 
import { Response } from '@angular/http'; 

import { NgbActiveModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap'; 
import { EventManager, AlertService, LanguageService } from '../../util'; 

import { DataConfiguration } from './dataconfiguration.model'; 
import { DataConfigurationPopupService } from './dataconfiguration-popup.service'; 
import { DataConfigurationService } from './dataconfiguration.service'; 
@Component({ 
    selector: 'dp-dataconfiguration-dialog', 
    templateUrl: './dataconfiguration-dialog.component.html' 
}) 
export class DataConfigurationDialogComponent implements OnInit { 

    dataConfiguration: DataConfiguration; 
    authorities: any[]; 
    isSaving: boolean; 

    constructor(
     public activeModal: NgbActiveModal, 
     private languageService: LanguageService, 
     private alertService: AlertService, 
     private dataConfigurationService: DataConfigurationService, 
     private eventManager: EventManager 
    ) { 
     this.languageService.setLocations(['dataconfiguration']); 
    } 

    ngOnInit() { 
     this.isSaving = false; 
     this.authorities = ['ROLE_USER', 'ROLE_ADMIN']; 
    } 
    clear() { 
     this.activeModal.dismiss('cancel'); 
    } 

    save() { 
     this.isSaving = true; 
     if (this.dataConfiguration.id !== undefined) { 
      this.dataConfigurationService.update(this.dataConfiguration) 
       .subscribe((res: DataConfiguration) => this.onSaveSuccess(res), (res: Response) => this.onSaveError(res.json())); 
     } else { 
      this.dataConfigurationService.create(this.dataConfiguration) 
       .subscribe((res: DataConfiguration) => this.onSaveSuccess(res), (res: Response) => this.onSaveError(res.json())); 
     } 
    } 

    private onSaveSuccess (result: DataConfiguration) { 
     this.eventManager.broadcast({ name: 'dataconfigurationListModification', content: 'OK'}); 
     this.isSaving = false; 
     this.activeModal.dismiss(result); 
    } 

    private onSaveError (error) { 
     this.isSaving = false; 
     this.onError(error); 
    } 

    private onError (error) { 
     this.alertService.error(error.message, null, null); 
    } 
} 

@Component({ 
    selector: 'dp-dataconfiguration-popup', 
    template: '' 
}) 
export class DataConfigurationPopupComponent implements OnInit, OnDestroy { 

    modalRef: NgbModalRef; 
    routeSub: any; 

    constructor (
     private route: ActivatedRoute, 
     private dataConfigurationPopupService: DataConfigurationPopupService 
    ) {} 

    ngOnInit() { 
     this.routeSub = this.route.params.subscribe(params => { 
      if (params['id']) { 
       this.modalRef = this.dataConfigurationPopupService 
        .open(DataConfigurationDialogComponent, params['id']); 
      } else { 
       this.modalRef = this.dataConfigurationPopupService 
        .open(DataConfigurationDialogComponent); 
      } 

     }); 
    } 

    ngOnDestroy() { 
     this.routeSub.unsubscribe(); 
    } 
} 

HTML

<form name="editForm" role="form" novalidate (ngSubmit)="save()" #editForm="ngForm"> 

    <div class="modal-header"> 
     <button type="button" class="close" data-dismiss="modal" aria-hidden="true" 
       (click)="clear()">&times;</button> 
     <h4 class="modal-title" id="myDataConfigurationLabel" dpTranslate="dataconfiguration.home.createOrEditLabel">Create or edit a DataConfiguration</h4> 
    </div> 
    <div class="modal-body"> 
     <dp-alert-error></dp-alert-error> 
     <div class="form-group" [hidden]="!dataconfiguration.id"> 
      <label for="id" dpTranslate="global.field.id">ID</label> 
      <input type="text" class="form-control" id="id" name="id" 
        [(ngModel)]="dataconfiguration.id" readonly /> 
     </div> 
     <div class="form-group"> 
      <label class="form-control-label" dpTranslate="dataconfiguration.name" for="field_name">Name</label> 
      <input type="text" class="form-control" name="name" id="field_name" 
       [(ngModel)]="dataconfiguration.name" 
      required minlength="3" /> 
      <div [hidden]="!(editForm.controls.name?.dirty && editForm.controls.name?.invalid)"> 
       <small class="form-text text-danger" 
        [hidden]="!editForm.controls.name?.errors?.required" dpTranslate="dataconfiguration.validation.required"> 
        This field is required. 
       </small> 
       <small class="form-text text-danger" 
        [hidden]="!editForm.controls.name?.errors?.minlength" dpTranslate="dataconfiguration.validation.minlength" translateValues="{ min: 3 }"> 
        This field is required to be at least 3 characters. 
       </small> 
      </div> 
     </div> 
    </div> 
    <div class="modal-footer"> 
     <button type="button" class="btn btn-default" data-dismiss="modal" (click)="clear()"> 
      <span class="fa fa-ban"></span>&nbsp;<span dpTranslate="dataconfiguration.action.cancel">Cancel</span> 
     </button> 
     <button type="submit" [disabled]="editForm.form.invalid || isSaving" class="btn btn-primary"> 
      <span class="fa fa-save"></span>&nbsp;<span dpTranslate="dataconfiguration.action.save">Save</span> 
     </button> 
    </div> 
</form> 

index.ts

export * from './tenant.model'; 
export * from './tenant-popup.service'; 
export * from './tenant.service'; 
export * from './tenant-dialog.component'; 
export * from './tenant-delete-dialog.component'; 
export * from './detail/tenant-detail.component'; 
export * from './tenant.component'; 
export * from './tenant.route'; 
export * from './configuration/dataconfiguration.service'; 
export * from './configuration/dataconfiguration-popup.service'; 
export * from './configuration/dataconfiguration-dialog.component'; 
export * from './configuration/dataconfiguration-delete-dialog.component'; 
export * from './configuration/detail/dataconfiguration-detail.component'; 
+1

在第15行看一下你的文件index.ts。你试图读取一个未定义变量的属性替换。 – mickdev

+0

你能发布你的html吗? –

+0

更新相关文件中的代码,没有这些文件,这是不能修复的 – Aravind

回答

0

好的发现了这个问题。在我的route.ts文件中,我尝试使用dataConfiguration导入,而不是通过dataconfiguration导入。只是大写C做了一大堆区别:))

这意味着文件导入区分大小写,因此在导入时要小心。 不知怎的,错误应该更简单。我从来不懂JavaScript错误。

0

请搜索在整个项目代替,我猜的服务之一有一个异步函数代替,在上面的源代码中调用,但驻留在其他地方。

我有这些类型的错误,当我用这个内部Promise(由我的服务返回)。我只是得到了TypeErrors,直到我意识到,我必须var other = this;在返回一个新的Promise之前,并在整个Promise函数中使用其他insead。

+0

有没有办法可以调试并看到 –

+0

啊我在上面的评论中看到,你发现了这个问题,请发表一个完整的答案,而不是只发表评论。 – Myonara