包装 jquery-ui 滑块会导致"undefined is not a function"错误



下面是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

任何想法?

好吧,所以当访问具有隔离作用域的指令中的单向约束作用域变量时,这些值被表示为字符串,即使它们是用属性中的数值常量定义的。我只需要使用parseFloat()来检索数值。

最新更新