2017-06-09 32 views
0

下面管是不工作的我的角分量模板的部分:角2旋轉器,滑塊:定製不工作

<p-spinner id="yzDistance" 
          [min]="aRenderState.clipping.planes[0].min" 
          [max]="aRenderState.clipping.planes[0].max" 
          [step]="inputStep" 
          [(ngModel)]="yzDistance" (onChange)="moveClip(0)"> 
       </p-spinner> 

       <input type="range" class="slider" type="range" name="yzDistance" 
         [min]="aRenderState.clipping.planes[0].min" 
         [max]="aRenderState.clipping.planes[0].max" 
         [step]="inputStep" 
         [ngModel]="yzDistance | decimalsPipe" 
         (ngModelChange)="yzDistance=$event" 
         (input)="moveClip(0)"> 

旋轉器工作正常放映值正確格式化例如2.009 4.765 -1.649等(小數點後3位)。當我移動的滑塊也有0.001步時,微調器得到更新,但顯示有千位分隔符的小數點,例如3.987,432 -1.34,092等我試圖糾正以下自定義管叫decimalsPipe問題:

@Pipe({name: 'decimalsPipe'}) 
export class DecimalsPipe implements PipeTransform { 
    transform(value) { 

     value.toLocaleString('en-US', { 
      minimumFractionDigits: 0, 
      maximumFractionDigits: 3 
     }); 
    } 
} 


@Component({ 
    selector: 'myComponent', 
    templateUrl: './myComponent.html', 
    styleUrls: ['./myComponent.css'] 
}) 
export class myComponent { ... 

它仍然呈現怪異的十進制格式,它不會引發錯誤。你能幫我解決這個問題嗎?

謝謝,迪諾

回答

0

你不返回任何值的變換,試圖返回的方法格式化值變換:

transform(value) { 

     return value.toLocaleString('en-US', { 
      minimumFractionDigits: 0, 
      maximumFractionDigits: 3 
     }); 
    } 
+0

仍然無法正常工作,但您的答案非常有用。我在spinner下添加了一段顯示{{yzDistance | decimalsPipe}},我可以看到該值的格式正確。所以問題是primeng 是搞亂格式與十進制增量。 – Dino

0

我已經接受Med_Ali_Rachid即使回答,如果它不作爲他的回答指向正確的方向。問題是微調不是格式化管道返回的值。

我的解決方案是隱藏旋轉器的輸入區域,只留下向上和向下箭頭按鈕可見。然後我添加了一個段落作爲輸入來顯示正確的值。

  <p> 
       {{yzDistance | decimalsPipe}} 
      </p> 

      <p-spinner id="yzDistance" 
         [min]="aRenderState.clipping.planes[0].min" 
         [max]="aRenderState.clipping.planes[0].max" 
         [step]="inputStep" 
         [(ngModel)]="yzDistance" (onChange)="moveClip(0)"> 
      </p-spinner>