2014-12-06 63 views
0

我正在將一個rangeslider作爲一個Ember組件實現。大多數情況下它一直工作得很好。問題出現在我試圖添加一些車把魔術時。特別是我想將左側的樣式屬性綁定到組件中的值。車把如下圖所示。灰燼組件未識別 - 綁定到控制器的流血

<div class="slider-connector" {{bind-attr style=leftPercentage}}> 
    <div class="handle-container handle-container-lower"> 
     <div class="handle"> 

     </div> 
     <div class="handle-label"> 
      <strong>Value:</strong> 
      <span>10.00</span> 
     </div> 
    </div> 
</div> 

而且JS是

App.SingleSliderComponent = Ember.Component.extend({ 
template: 'components/single-slider', 
classNames: ['ember-slider'], 
left: -5, 
right: 5, 
rangeStart: -10, 
rangeEnd: 10, 
leftPercentage: 'left: 0%;', 
rightPercentage: 'left: 100%;', 
init: function() { 

}, 
didInsertElement: function() { 

}, 
setLeftPercentage: function() { 
    var val = (this.get('left') - this.get('rangeStart'))/(this.get('rangeEnd') - this.get('rangeStart'))*100; 
    this.set('leftPercentage', 'left: ' + val + '%;'); 
}, 
setRightPercentage: function() { 
    var val = (this.get('right') - this.get('rangeStart'))/(this.get('rangeEnd') - this.get('rangeStart'))*100; 
    this.set('rightPercentage', 'left: ' + val + '%;'); 
}, 
}); 

組件通過

{{single-slider}} 

問題實行的是它不是從Component採取leftPercentage和rightPercentage,而是控制器該組件存在。據我所知,組件應該完全與控制器分開。看看Ember-Inspector,當我選擇'show components'時,它不會顯示單滑塊組件,這導致我相信它在檢測組件時遇到問題,這可以解釋爲什麼綁定未本地化到組件。

我的部件是在模板/組件/單slider.hbs和我的JS是組件/ singleSlider.js(但不應該的問題,因爲一切都連接在一起。提前

謝謝!

回答

1

解決它顯然我不夠仔細實現我的組件時 - !的解決方法是調用

this._super(); 

在init調用