代码之家  ›  专栏  ›  技术社区  ›  Tanzeel

如何区分一个组件和另一个组件的行为[角度]

  •  0
  • Tanzeel  · 技术社区  · 6 年前

    我在学习。我创造了一个 datepicker 从头开始(*为什么从头开始是一个不同的故事)。正如你所见,我在同一个小部件中有两个日期选择器自定义组件。两者的代码相同。我只是复制并粘贴在同一个HTML文件中。

    这是我的 蒙斯皮克。组成部分html

    注: dls 是我们自己的基本html组件库,如文本字段等。请忽略这一点。

    ....
    <div class="dropdown">
      <span>
        <dls-textbox id="upper">
            <input dlsInput [ngModel]="text" placeholder="...">
        </dls-textbox>
      </span>
      <div class="my-table-div dropdown-content">
        <div class="year-div">
            <input type="number" [(ngModel)]="year" value="2019" min="2018" max="2024">
        </div>
        <br>
        <div *ngFor="..." class="my-table">
          <span *ngFor="...">
            <span class="month-name" (click)="onClick(x);">
              {{ x.monthName }} 
            </span>
          </span>
        </div>
    </div>
    
    <!-- A TOGGLE SWITCH GOES HERE-->
    
    <!-- THEN SAME DATE PICKER CODE I COPIED BELOW-->
    <div class="dropdown">
      ...
    </div>
    

    但问题是,在一个日历中选择的日期也会反映在后一个日历中。 screenshot

    我试着通过改变 id class 而且但他们两人仍在共同应对。我希望他们独立行动。

    请纠正我。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Nicholas K    6 年前

    之所以会发生这种情况,是因为您使用 [ngModel] ,因此,一个方面的变化会反映在另一方面。

        2
  •  1
  •   Egon Allison    6 年前

    尝试更改ngModel值。

     <div class="year-div">
            <input type="number" [(ngModel)]="year" value="2019" min="2018" max="2024">
       </div>
    

    如果为两个模型输入相同的值,它也将反映另一个。每个ng模型需要使用不同的值。

        3
  •  -1
  •   SaiKishore    6 年前

    确保用另一个日期清除所选日期。每个成分的Make“ID”应该不同。

    推荐文章