我正在嘗試構建一個Angular指令來創建一個鍵盤可訪問的滑塊小部件。我在Github上找到了幾個Angular滑塊,但是他們都沒有鍵盤訪問。所以,我試圖將jQuery UI滑塊轉換爲Angular指令。將jQuery UI滑塊小部件轉換爲AngularJS指令
這裏是我如何構建沒有Angular的小部件。
HTML:
<div id="slider"></slider>
<input type="text" id="amount"/>
的Javascript:
$("#slider").slider({
min: 1,
max: 10,
slide: function(event, ui) {
$("#amount").val(ui.value);
}
});
這是我想怎麼角指令工作:
<slider min="1" max="10" ng-model="sliderValue"/>
<input type="text" ng-model="sliderValue"/>
作爲一個例子,這裏是一個jsFiddle顯示了某人如何將jQuery UI日期小部件轉換爲Angular指令。
http://jsfiddle.net/xB6c2/121/
我想要做類似這樣的滑塊控件的東西。謝謝!
謝謝,非常有幫助。對我來說,唯一的區別是2行'value:scope [attrs.ngModel] .price,'和'scope [attrs.ngModel] .price = ui.value;'在ng-repeat中使用。 – 2014-11-28 12:52:31
我不得不稍微修改這個指令,因爲當我試圖拖動滑塊時,出現「Uncaught TypeError:無法讀取未定義屬性'addClass'」的錯誤。原來,這是因爲我正在使用'getterSetter'函數作爲模型。我在這個要點中增加了對getterSetter函數的支持:https://gist.github.com/NoxHarmonium/d53d07bda7417d6d8004如果有人知道更好的方法,請讓我知道它似乎有點笨重。除非我使用滑塊關鍵字作爲屬性(
)語法而不是