我得到了未处理承诺拒绝:模板解析错误:离子3

时间:2017-10-09 13:24:38

标签: javascript angular ionic3

我无法解决此error

  

未处理的承诺拒绝:模板解析错误:无法解决   一个元素上有多个模板绑定。仅使用一个属性   命名'模板'或以*("

为前缀

这是我的controller

 resposeData:any;
 public showJobsInitally = false;

employerId = 4; // for testing

    this.authService.postData(this.employerId, "jobsPostedByEmployer").then((result)=>{
        this.resposeData = result;     


        console.log(this.resposeData);     


    }, (err) => {

    });

这是我的模板:html

<ion-card *ngIf="showJobsInitally" *ngFor="let jobs of resposeData?.postedJobs">   
  <ion-card-header>
    {{jobs?.company_name}}
  </ion-card-header>
  <ion-card-content>
    <p>{{jobs?.skills}}</p>
    <p>{{jobs?.package}}</p>
    <p>{{jobs?.location}}</p>
    <p>{{jobs?.industry}}</p>
    <p>{{jobs?.job_type}}</p>                           
  </ion-card-content>
</ion-card>
  

我的authService以此格式接收数据

{"postedJobs":[{"company_name":"Egdhdf","skills":"jdfjfgjgfjfg","package":"jbfjnbgfjfg","location":"gfgghjjghghj","industry":"kghhjghj","job_type":"fjdjgjghhg","expired_or_not":null},{"company_name":"Enigma Brand Solutions","skills":"php,mysql,javascript","package":"3 lakhs","location":"bangalore","industry":"Software","job_type":"permanent","expired_or_not":null}]}

1 个答案:

答案 0 :(得分:2)

一个元素只允许一个结构指令。

<ng-container *ngIf="showJobsInitally">
  <ion-card  *ngFor="let jobs of resposeData?.postedJobs"></ion-card>
</ng-container>  

Angular不保证添加到元素的任何属性顺序,因此不清楚您是否希望首先评估ngIfngFor

通过使用未添加到DOM的<ng-container>辅助元素,您可以清楚地说明这一点。当然,ngIfngFor可以在我的示例代码中切换。