以下是jquery-ui滑块的包装器的开头。
app.directive('sliderWidget', ['$timeout', function ($timeout) {
return {
scope: {
min: "@min",
max: "@max",
step: "@step"
},
restrict: 'A',
require: 'ngModel',
link: function (scope, elem, attrs, ngModel) {
elem.slider({
min: scope.min,
max: scope.max,
step: scope.step,
slide: function (event, ui) {
//ngModel.$setViewValue(ui.value);
}
});
//ngModel.$render = function () {
// elem.slider('value', ngModel.$viewValue);
// $timeout(function () { scope.$apply() });
//};
}
};
}]);
<div slider-widget min=0 max=99 step=1 ng-model="someValue"></div>
然而,尽管如此,在所有主要部分被注释掉的情况下,当滑动事件发生时我得到错误:
Uncaught TypeError: undefined is not a function --> jquery-ui.js:11881
我正在使用:
jQuery v2.1.1
jQuery UI - v1.10.4
AngularJS v1.2.16
有什么想法吗?
答案 0 :(得分:1)
好的,所以当在具有隔离范围的指令中访问单向绑定范围变量时,这些值表示为字符串,即使它们在属性中用数字常量定义。我只需要使用parseFloat()来检索数值。