2014-02-20 29 views
1

我試圖過濾我的集合「PriceList」,併成功實現了排序,這工作完全正常,但是當我試圖實現過濾器和搜索時,它的行爲奇怪。當我點擊自定義過濾器按鈕時,他們不會動態地更新模板,但是當我在此之後進行排序時,模板會更新,我的任何想法都會出錯?以下是這些文件,如果需要更多信息,請告知我。如果你不使用與您的模板fcSort沿fcPager過濾器沒有動態更新模板

price_list.js

PriceListFilter = new Meteor.FilterCollections(PriceList, { 
    name: "PriceListFC", 
    template: 'price_list', 
    filters: { 
    "trip": { 
     title: 'Trip Types', 
     operator: ['$regex', 'i'], 
     condition: '$and', 
     searchable: 'optional', 
    }, 
    }, 
    sort:{ 
    order: ['desc', 'asc'], 
    amount0: ['desc', 'asc'], 
    amount1: ['desc', 'asc'], 
    amount2: ['desc', 'asc'], 
    amount3: ['desc', 'asc'], 
    amount4: ['desc', 'asc'], 
    }, 
}); 

price_list.html

<template name="price_list"> 
<div class="pael panel-info"> 
    <div class=""> 
    <div class="pull-right"> 
     <form class="navbar-form navbar-left" role="search"> 
     <div class="form-group"> 
      <input type="text" class="form-control" placeholder="Search" value="{{fcFilterSearchable.criteria}}" data-fc-search-target="search-box"> 
     </div> 
     <button type="submit" class="btn btn-success fc-search-trigger" data-fc-search-trigger="search-box">Submit</button> 
     {{#each available}} 
      <a href="#" class="fc-search-fields">{{#if active}}Disable{{else}}Enable{{/if}} {{title}} filter</a> 
      {{/each}} 
     <button type="button" class="fc-filter btn btn-primary {{#if fcFilterObj.isActive 'trip' 'Single Trip'}}active{{/if}}" data-fc-filter-field="trip" data-fc-filter-value="Single Trip" > 
     Single Trip 
     </button> 
     <a href="#" class="fc-filter btn btn-primary {{#if fcFilterObj.isActive 'trip' 'Annual Trip'}}active{{/if}}" data-fc-filter-field="trip" data-fc-filter-value="Annual Trip" > 
     Annual Trip 
     </a> 
     {{#if fcFilterSearchable.criteria}}<button type="button" class="btn btn-danger fc-search-clear">Reset</button>{{/if}} 
     </form> 
     {{#if fcFilterActive}} 
     <div class="navbar-form pull-right"> 
     {{#each fcFilterActive}} 
     <a href="#" class="btn btn-info fc-filter-clear">{{title}}: {{operator}} {{value}}</a> 
     {{/each}} 
     </div> 
     {{/if}} 

    </div> 
    <h4>Price Comparision</h4> 
    </div> 
    <div class="table-responsive"> 
    <table class="table table-hover table-bordered"> 
     <thead > 
     <tr class="info"> 
      <th class="fc-sort" data-fc-sort="amount0"> 
      InsureandGo.com - Budget 
      {{#if fcSort.amount0.desc}}(des){{/if}} 
      {{#if fcSort.amount0.asc}}(asc){{/if}} 
      </th> 
      <th class="fc-sort" data-fc-sort="amount1"> 
      InsureandGo.com - Silver 
      {{#if fcSort.amount1.desc}}(des){{/if}} 
      {{#if fcSort.amount1.asc}}(asc){{/if}} 
      </th> 
      <th class="fc-sort" data-fc-sort="amount2"> 
      InsureandGo.com - Gold 
      {{#if fcSort.amount2.desc}}(des){{/if}} 
      {{#if fcSort.amount2.asc}}(asc){{/if}} 
      </th> 
      <th class="fc-sort" data-fc-sort="amount3"> 
      InsureandGo.com - Black 
      {{#if fcSort.amount3.desc}}(des){{/if}} 
      {{#if fcSort.amount3.asc}}(asc){{/if}} 
      </th> 
      <th class="fc-sort" data-fc-sort="amount4"> 
      InsureandGo.com - Annual Silver 
      {{#if fcSort.amount4.desc}}(des){{/if}} 
      {{#if fcSort.amount4.asc}}(asc){{/if}} 
      </th> 
     </tr> 
     </thead> 
     <tbody> 
     {{#each fcResults}} 
     <tr> 
     <td>{{amount0}}</td> 
     <td>{{amount1}}</td> 
     <td>{{amount2}}</td> 
     <td>{{amount3}}</td> 
     <td>{{amount4}}</td> 
     </tr> 
     {{/each}} 
     </tbody> 

    </table> 
    </div> 
</div> 
    </div> 
</template> 

回答

0

,然後在模板助手的依賴性沒有得到失效時,數據變化—可能歸因於filter-collections中的Dependency初始化怪癖。

嘗試添加一個paginator到您的模板。否則,您可以嘗試覆蓋模板偵聽器並使用changed()

強制失效