下面是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.4AngularJS v1.2.16
任何想法?
好吧,所以当访问具有隔离作用域的指令中的单向约束作用域变量时,这些值被表示为字符串,即使它们是用属性中的数值常量定义的。我只需要使用parseFloat()来检索数值。