【发布时间】:2015-04-28 19:57:41
【问题描述】:
所以我有一个 input[type=range],其中 min 和 max 属性会根据 $http 调用而改变。
<input type="range" name="bidSlider" id="bidSlider" min="{{bid.min}}" max="{{bid.max}}" ng-model="bid.value" step="1">
bid.max = 1.5 * bid.value;
bid.min = .5 * bid.value;
bid.value 在 $http 调用返回之前是未定义的。我可以将 bid.min 和 bid.max 初始化为一些默认值,但这将是一个非常糟糕的体验,因为我无法真正猜测 bid.min 和 bid.max 将是什么(它们基于 bid.min 和 bid.max)。 value),因为 bid.value 可以低至 50,也可以高达数千。
如果我不初始化 bid.min 或 bid.max 的默认值,则范围的最小值/最大值默认为 0-100,通常滑块一直位于右侧或左侧。
处理这种情况的最佳方法是什么?
编辑:
这不是滑块跳来跳去的问题,因为它发生得非常快......这是一旦设置了bid.value,bid.min && bid.max,滑块就不会相对于新范围重新定位自己相反,滑块 (bid.value) 会相对于默认范围 0-100 重新定位自身,因此它看起来处于最小范围或最大范围,而实际上该值位于范围的中间。
【问题讨论】:
标签: javascript angularjs