2017-05-04 36 views
0

我正在使用Ionic。Ionic ENOENT:没有这样的文件或导演

Cordova CLI: 6.4.0 
Ionic Framework Version: 3.1.1 
Ionic CLI Version: 2.1.18 
Ionic App Lib Version: 2.1.9 
Ionic App Scripts Version: 1.3.0 
ios-deploy version: Not installed 
ios-sim version: Not installed 
OS: macOS Sierra 
Node Version: v7.10.0 
Xcode version: Xcode 8.3.2 Build version 8E2002 

我得到以下错误:

core.es5.js:1084 ERROR Error: Uncaught (in promise): Error: Module build failed: Error: ENOENT: no such file or directory, open 

'/Users/richardmarais/Development/ionic/theWhoZoo/src/pages/model/ratingModel.js' Error: Module build failed: Error: ENOENT: no such file or directory, open '/Users/richardmarais/Development/ionic/theWhoZoo/src/pages/model/ratingModel.js'

当我试图进入以下页面:

审查/ review.ts

... 
import { RatingModel } from '../model/ratingModel'; 

@IonicPage() 
@Component({ 
    templateUrl: 'review.html' 
}) 
export class ReviewPage { 
... 

模型/ ratingModel .ts

import { Injectable } from "@angular/core"; 
import { PersonModel } from './personModel'; 
import { JobModel } from './jobModel'; 

@Injectable() 
export class RatingModel { 
     public id: number = null; 
     public job: JobModel = null; 
     public review: string = null; 
     public rating: number = null; 
     public reviewDate: number = null; 
     public time: string = null; 
     public person: PersonModel = null; 
     public anonymous: number = null; 
} 

这是工作,直到我改变我的网页使用延迟加载。

审查/ review.module.ts

import { NgModule } from '@angular/core'; 
import { IonicPageModule } from 'ionic-angular'; 
import { ReviewPage } from './review'; 
import { ControlMessagesModule } from '../validation/controlMessages.module'; 
import { RatingComponentUpdateableModule } from '../utils/rating/ratingComponentUpdateable.module'; 

@NgModule({ 
    declarations: [ReviewPage], 
    imports: [IonicPageModule.forChild(ReviewPage), ControlMessagesModule, RatingComponentUpdateableModule], 
    exports: [ReviewPage] 
}) 
export class ReviewPageModule { } 

UPDATE

我找到了错误发生的原因如下:

this.ratingModel = navParams.get('ratingModel'); 
if (!this.ratingModel) { 
    this.ratingModel = new RatingModel(); 

当我删除new RatingModel()线,我没有得到任何错误。

你应该如何创建一个新的RatingModel

回答

1

这里的问题是你正在使模型类injectable

@Injectable() 
export class RatingModel { 

你不必做一个模型类的注射。

如果您确实需要这样做,您必须将其设置为提供者。 或尝试从explicit injector获取对象。

constructor(private injector: Injector) { } 
//.. 
this.ratingModel = this.injector.get(RatingModel) 
相关问题