首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ng模板和ngTemplateOutlet Angular

ng模板和ngTemplateOutlet Angular
EN

Stack Overflow用户
提问于 2018-12-07 16:33:11
回答 1查看 160关注 0票数 1

我在<ng-template #something></>中使用了#something,然后我必须使用#somethingOther调用其他功能,TS文件中的other基本上使用了用于<zxing-scanner></>的#somethingOther

当我在<ng-template></>之外使用[ngTemplateOutlet]时,它在两个地方给出了相同的模型。在页面的弹出窗口中,我的数据也在下面。

没人能帮我解决这个问题吗?示例代码

代码语言:javascript
复制
<ng-container [ngTemplateOutlet]="modalContent"></ng-container>
<ng-template #modalContent>
    <div class="modal-body bg-gray">
        <div class="row">

        <form [formGroup]="form" (ngSubmit)="onSubmit(form.value)" class="row px-3">

            <div class="tab-content col-9 border-0">

                <div class="scanner-shell" [hidden]="!hasDevices">
                    <zxing-scanner #scanning start="true" (scanSuccess)="handleQrCodeResult($event)"></zxing-scanner>
                </div>

                <div class="form-group">
                    <label class="text-gray">device Code</label>
                    <input type="text" value='{{ qrResultString }}'>
                </div>
                <div class="form-group">
                    <label class="text-gray">device Name</label>
                    <input type="text">

                </div>

                <div class="form-group">
                    <label class="text-gray">Device Type</label>
                </div>
                <div class="custom-control custom-checkbox">
                    <label class="custom-control-label" for="checkboxActive">Active</label>
                </div>
            </div>
    </div>
    <div class="col-12 bg-white text-center py-1">
        <button [disabled]="!form.valid" class="btn btn-success mr-1" type="submit">
            <span *ngIf="!device">Update</span>
            <span *ngIf="device">Add</span>
        </button>
        <button type="button" class="btn btn-danger" 
   (click)="closeModal()">Cancel</button>
    </div>
    </form>
</div>
</div>
  </ng-template>

EN

回答 1

Stack Overflow用户

发布于 2018-12-17 14:05:30

我有一个解决这个问题的办法。我所做的就是将一个隐藏的div放在ng-template之外,它为Ts文件提供了所有需要的属性,以获得模板中的扫描Id。然后把它用在我想用的地方。

使用templateoutletModal就是把它放在两个地方。

代码语言:javascript
复制
<div class='d-none'>
<div class="scanner-shell" [hidden]="!hasDevices">
    <zxing-scanner #scanning start="true" (scanSuccess)="handleQrCodeResult($event)"></zxing-scanner>
</div>
</div>
<ng-template #modalContent>
    <div class="modal-body bg-gray">
        <div class="row">

        <form [formGroup]="form" (ngSubmit)="onSubmit(form.value)" class="row px-3">

            <div class="tab-content col-9 border-0">

                <div class="scanner-shell" [hidden]="!hasDevices">
                    <zxing-scanner #scanning start="true" (scanSuccess)="handleQrCodeResult($event)"></zxing-scanner>
                </div>

                <div class="form-group">
                    <label class="text-gray">device Code</label>
                    <input type="text" value='{{ qrResultString }}'>
                </div>
                <div class="form-group">
                    <label class="text-gray">device Name</label>
                    <input type="text">

                </div>

                <div class="form-group">
                    <label class="text-gray">Device Type</label>
                </div>
                <div class="custom-control custom-checkbox">
                    <label class="custom-control-label" for="checkboxActive">Active</label>
                </div>
            </div>
    </div>
    <div class="col-12 bg-white text-center py-1">
        <button [disabled]="!form.valid" class="btn btn-success mr-1" type="submit">
            <span *ngIf="!device">Update</span>
            <span *ngIf="device">Add</span>
        </button>
        <button type="button" class="btn btn-danger" (click)="closeModal()">Cancel</button>
    </div>
    </form>
</div>

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53665855

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档