2017-06-23 55 views
1

我们拥有一个Angular 4的应用程序,当我们在生产模式下运行网站时,似乎有不同的HTML生成。我们使用angular/flex-layout布局,以及为的WebPack本地捆绑等方面的差异的一个例子,PROD:生产中生成的不同div

地方:

<div class="mat-input-table"> 
<!----> 
<div class="mat-input-infix"> 
    <button type="button" class="mat-datepicker-toggle" aria-label="Open calendar"></button> 
      <input formcontrolname="arrivalDate" mdinput="" placeholder="Arrival" aria-expanded="false" aria-haspopup="true" aria-owns="md-datepicker-0" class="mat-input-element ng-pristine ng-valid ng-touched" id="md-input-1"> 
      <span class="mat-input-placeholder-wrapper"> <!----><label class="mat-input-placeholder mat-float" for="md-input-1"> Arrival <!----> </label> </span> </div> 
<!----> 
</div> 

PROD:

<div class="mat-input-flex"> 
    <!----> 
    <div class="mat-input-infix"> 
      <button class="mat-datepicker-toggle" type="button" aria-label="Open calendar"></button> 
        <input class="mat-input-element ng-pristine ng-valid ng-touched" formcontrolname="arrivalDate" mdinput="" placeholder="Arrival" aria-expanded="false" aria-haspopup="true" aria-owns="md-datepicker-0" id="md-input-1" aria-invalid="false"> 
        <span class="mat-input-placeholder-wrapper"><!----><label class="mat-input-placeholder ng-tns-c14-1 mat-float" for="md-input-1">Arrival 
<!----></label></span></div> 
    <!----></div> 

借口格式,但正如你所看到的,这些块中的顶级div在不同的环境中分配了不同的类。这个类不是我们在HTML中的东西,而是在项目的输出中生成的。任何线索,想法,想法都欢迎在这里,我们真的不熟悉这样的问题。

编辑: ,其产生这些输出的HTML:

<!-- Arrival Date --> 
<div fxFlex="100" fxFlex.gt-sm="20" class="form-group datepicker-container gutter-right-gt-sm" [class.has-error]="formErrors.arrivalDate"> 
     <div fxLayout="row" fxLayoutAlign="center center" class="input-icon-container datepicker"> 
      <md-input-container> 
       <button [mdDatepickerToggle]="arrivalDatepicker"></button> 
       <input mdInput 
         [mdDatepicker]="arrivalDatepicker" 
         [mdDatepickerFilter]="minArrivalFilter" 
         formControlName="arrivalDate" 
         placeholder="Arrival"/> 
      </md-input-container> 
      <md-datepicker #arrivalDatepicker flex='auto' [touchUi]="false"></md-datepicker> 
     </div> 
     <span *ngIf="formErrors.arrivalDate">{{formErrors.arrivalDate}}</span></div> 
+0

请向我们展示生成此html的模板代码 –

+0

添加了模板HTML。 – LeteciTanjir

回答

0

柔性布局是一个响应temaplate,哗哗具有用于不同的视口和设备不同的风格。这意味着如果您的设置稍有变化,例如兼容模式或不同的浏览器,这些类可能会改变。这就是说,用户界面的行为应该是一样的。

+0

但是,这是相同的浏览器,相同的大小,一切都相同,但生成了不同的类。我无法在'mat-input-table'和'mat-input-flex'上找到很多文档,因此很难诊断两者之间的切换。 – LeteciTanjir