2017-04-03 54 views
2

我正在開發一個帶有Angular 2.0/meteor的應用程序,但我不知道如何將輸入綁定到md-slider。如何將md-input綁定到md-slider值angular2

這裏的組件的HTML:

<div class="panel-body"> 
    <form [formGroup]="filtreForm" #f="ngForm"> 
    <span class="panel-title"> <i class="glyphicon glyphicon-retweet"> Paramétrages 0 </i></span> 
    <md-slide-toggle>On</md-slide-toggle> 
     <div *ngFor="let filtre of filtres | async"> 
      <div *ngFor="let filtr of filtre.arguments"> 
      <span class="panel-title" > <i class="glyphicon glyphicon-retweet"> {{filtr.name}} </i></span> 

      <md-input-container class="example-full-width" > 
       <input mdInput placeholder="{{filtr.name}}" formControlName="{{filtr.name}}" value="{{filtr.value}}"> 
       </md-input-container>              
      <md-slider 
      thumb-label 
      [min]="'0'" 
      [max]="'200'" 
      [value]="filtr.value">   
      </md-slider> 
      </div> 
     </div> 

    <div class="btn-group people-pager"> 
     <button type="button" class="btn btn-success btn-quirk" (click)="appliquerFiltre()"><i class="fa fa-tencent-weibo Try it"></i> Appliquer ce filtre</button> 
    </div> 
    </form> 
    </div> 

這裏的組件TS:

import {Component, ViewEncapsulation, OnInit, NgZone, Input} from '@angular/core'; 
import { Router } from '@angular/router'; 
import { Meteor } from 'meteor/meteor'; 
import { Observable } from 'rxjs'; 
import { FormBuilder, FormGroup, Validators } from '@angular/forms'; 

//Collection import 
import { Filtres } from '../../../../both/collections/filtres.collection'; 
import {Filtre} from "../../../../both/models/filtre.model"; 

import template from './tpl.dashboard.component.html'; 


@Component({ 
    selector: 'traitement_par_lot', 
    encapsulation: ViewEncapsulation.None, 
    template 
}) 

export class TPLcomponent implements OnInit{ 

    filtres: Observable<Filtre[]>;  
    filtreForm: FormGroup; 

    constructor(
    private formBuilder: FormBuilder, private router: Router 
) {} 

    ngOnInit(){ 
    this.filtreForm = this.formBuilder.group({ 
     spread:['',Validators.required], 
     density:['',Validators.required], 
     curviness:['',Validators.required], 
     reseed:['',Validators.required], 
    }); 

    this.filtres = Filtres.find({}).zone(); 
    console.log(this.filtres); 
    } 

    appliquerFiltre(){ 

    } 

} 

這是行不通的。現在我可以從滑塊的初始值,但它是當我滑到

在此先感謝

回答

2

對於更新的價值,同時slidering,您可以使用md-sliderchangeinput事件不會改變,並獲得它的當前值是event.value

  • change事件將在您滑動結束後纔會觸發。
  • 輸入活動將在滑塊的值更改

,你可以選擇適合自己情況的更好的一個被立即解僱。 請看plunker

+0

感謝它的工作完美,但現在的問題是,我有4個滑塊和4個輸入,當我改變1幻燈片4個輸入改變它們的值你可以幫助我這個@pengyy – Dev

+0

@Dev你應該綁定每個具體的值。 – Pengyy

+0

我怎麼能做到這一點,我試圖綁定每個輸入的值,但仍然是同一個問題@pengyy – Dev