我是jQuery插件的新手,我不了解bootstrap-slider插件的架构。
创建滑块时实际返回了什么?
var mySlider = $('.slider').slider({...});
我希望Slider类(对象)但我不能直接访问它的方法,而是我必须这样做:
mySlider.slider('setValue',4);
为什么我应该将Slider的方法称为字符串而不是直接?我期望的是:
var mySlider = $('.slider').slider({...});?
mySlider.setValue(4);
我再次对此不熟悉,它是某种丑陋的模式还是我错误地理解了它?有人可以解释一下吗?
由于
答案 0 :(得分:1)
基本上你可以在选择器上调用匿名jQuery函数。当你调用$('。slider')时,你正在创建一个存储方法和参数的jQuery对象。
JQuery插件模式是一个很好的起点。我会通过@addyosmani查看这篇文章 http://coding.smashingmagazine.com/2011/10/11/essential-jquery-plugin-patterns/
答案 1 :(得分:0)
显然,该架构的灵感来自How to create a jQuery plugin with methods?。
恕我直言,这是非常糟糕的架构。它容易出错,无法强类型化(使用TypeScript)或在编译时检查完整性。我们不会在字符串中编写代码。