【发布时间】:2016-04-29 22:55:42
【问题描述】:
我正在尝试在 Angular 中使用 jquery 旋钮,并且我创建了一个指令来使用它。
现在,我已经看到了很多 jquery 旋钮示例,在大多数示例中,当前值显示在表盘的中心......但在我的情况下不是! 还有,如何将数字设置为不带小数?
这是我的 html 和 angular 指令代码:
HTML
<knob ng-model="temp" value="0"></knob>
<input type="text" ng-model="temp">
knob.js
angular.module('knob', [])
.directive('knob', function () {
return {
restrict: 'E',
require: 'ngModel',
link: function (scope, element, attrs, ngModel) {
element.knob({
min: attrs.min,
max: attrs.max,
thickness: .2,
step: .5,
angleOffset: -125,
displayInput: true,
angleArc: 250,
change: function (value) {
scope.$apply(function () {
ngModel.$setViewValue(value);
});
}
});
ngModel.$render = function () {
element.val(ngModel.$viewValue).trigger("change");
};
}
};
});
它在浏览器上的显示如下:
我希望它是怎样的(不是在谈论颜色,而是关于中间显示为 INT 的值)
在此先感谢
编辑
按照建议,我用 roundSlider 替换了 jquery 旋钮,但我有几个问题可以在这里找到: http://jsbin.com/doketasuju/edit?html,output
1) 为什么我不想要“菱形”样式的白色背景?
2) 如果我在输入中输入了一些东西,它就不起作用了!
这是一个关于我将如何使用它的示例,但我需要先解决这两个问题。 谢谢
编辑 2
这样添加标签:
它显然应该显示滑块属性的最小值和最大值
【问题讨论】:
-
问题是由于,旋钮应该由输入元素呈现(显示在中心)..但是这里使用了“旋钮”标签(指令的自定义标签)..所以需要改变基于此的绑定..您需要带旋钮的解决方案还是可以与任何其他插件兼容?
-
任何圆形滑块都可以
-
以下答案对您有帮助还是您需要任何其他功能?
-
不,不是真的...我以前用过这个插件,然后我换了旋钮。我知道旋钮应该以角度工作,如以下视频示例所示:youtube.com/watch?v=nz8lAKHBgJY。我和他做同样的事情,但我有小数而他没有,我不知道为什么
标签: jquery angular-directive jquery-knob round-slider