2017-04-10 95 views
-2
     <select class="form-control" #platformFilter > 
           <option value="">Select</option> 
           <option value="PC">PC</option> 
           <option value="PS3">PS3</option> 
           <option value="PS4">PS4</option> 
           <option value="XBox">XBox</option> 
           <option value="XB1">XB1</option> 
          </select> 



         <select class="form-control" #gameFilter > 
           <option value="">Select</option> 
           <option value="World of WarCraft">World of WarCraft</option> 
           <option value="Left 4 Dead 2">L4D2</option> 
           <option value="Diablo 3">Diablo 3</option> 
           <option value="Destiny">Destiny</option> 
          </select> 



         <input type="datetime-local" class="form-control" #timeFilter > 


         <button class="btn btn-primary" (click)="applyFilter(platformFilter.value, gameFilter.value, timeFilter.value)">Apply filter</button> 



applyFilter(platform:string = null, game:string = null, time:string = null) { 
    console.log("why?"); 
} 

我不知道我的代码 发生什么事,误差为什么这个angular2代码的失败

ERROR TypeError: Cannot read property 'value' of undefined at Object.eval [as handleEvent] (GroupingComponent.html:231)

到底发生了什么?

---------------------------------------编辑:对不起,包含较少的细节,这是我的全部代码

+0

什么是角版本 – Sajeetharan

回答

0

为什么它的参数平台:字符串=空, 尝试改变它,

applyFilter(platform: string) { 
    console.log("why?"); 
} 
0

这似乎是工作,

<select #selectedCategory> 
    <option value="PC">PC</option> 
     <option value="PS3">PS3</option> 
    </select> 
    <button (click)="getValueFromSelect(selectedCategory.value)">click</button> 

`

DEMO

+0

对不起,含有较少的细节,我有更新我的全部代码。 – Steveeeeee

+0

@Steveeeeee也在工作https://plnkr.co/edit/HRXjADfiFRTM2TWhaC4j?p=preview – Sajeetharan

+0

谢谢,但仍然在我的工作场所失败....我不知道为什么 – Steveeeeee

0

看来下面三个对象是null,请检查你的打字稿代码。

  • platformFilter
  • gameFilter
  • timeFilter

<button class="btn btn-primary" (click)="applyFilter(platformFilter.value, gameFilter.value, timeFilter.value)">Apply filter</button>