Angular2

时间:2017-05-01 13:00:12

标签: angular angular2-template primeng

我在Angular应用程序中使用PrimeNG,其中有一个场景可以上传多个文件。我知道通过 multiple =“true”我可以在Prime -G的p-fileupload中实现相同的功能。但我想要做的是每当我使用下面的代码上传一个文件时,我希望在其下添加另一个相同的代码段/ div并为我做同样的事情。这也应该做任何次数。我怎么能做到这一点?我想在Angular 2中做到这一点。

<div class="row">
<div class="col-md-12">
    <p-growl [value]="msgs" life="10000"></p-growl>
    <p-fileUpload name="attachments" accept="pdf/*" auto="true"
        (onSelect)="onSelectAttachments($event)"
        (onUpload)="onUploadAttachments($event)"
        (onClear)="clearAttachments()" url="{{attachmentUploadURL}}"
        multiple="false" (onBeforeSend)="sendFile($event)"
        chooseLabel="Click to Browse">
        <template pTemplate>
        <ul *ngIf="uploadedAttachments.length">
                <li *ngFor="let file of uploadedAttachments">{{file.name}} -
                    {{file.size}} bytes
                </li>
            </ul>
        </template>
    </p-fileUpload>
</div>

enter image description here

正如你所看到的,当我从下面的div上传一个文件时,我希望再次添加上面的div。这应该做很多次。

1 个答案:

答案 0 :(得分:0)

我希望我能正确理解你。您可以使用ngFor显示多个div。这是一个简单的例子:

 @Component({
  selector: 'my-app',
  template: `
    <div>
      <button (click)="finishRequest()">Finish Request</button>
      <div *ngFor="let request of requests">
        my div content for request {{request.id}}
      </div>
    </div>
  `,
})
export class App {
  id = 0;
  constructor() {
    this.requests = [{request:this.id++}];
  }

  finishRequest() {
    this.requests.push({request:this.id++});
  }
}