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(但不应该的问题,因为一切都连接在一起。提前
谢谢!